int main()
{
int i, j, k, l, m;
char c = '*'; //用*號打印愛心
for (i = 1; i <= 5; i++)
printf("\n"); //開頭空出5行
for (i = 1; i <= 3; i++)
{ //前3行中間有空隙分開來寫
for (j = 1; j <= 32 - 2 * i; j++)
printf(" "); //左邊的空格,每下壹行左邊的空格比上壹行少2個 //8*n-2*i
for (k = 1; k <= 4 * i + 1; k++)
printf("%c", c); //輸出左半部分字符小愛心
for (l = 1; l <= 13 - 4 * i; l++)
printf(" "); //中間的空格,每下壹行的空格比上壹行少4個
for (m = 1; m <= 4 * i + 1; m++)
printf("%c", c); //輸出右半部分字符小愛心
printf("\n"); //每壹行輸出完畢換行
}
for (i = 1; i <= 3; i++)
{ //下3行中間沒有空格
for (j = 1; j <= 24 + 1; j++)
printf(" "); //左邊的空格 //8*(n-1)+1
for (k = 1; k <= 29; k++)
printf("%c", c); //輸出字符小愛心
printf("\n"); //每壹行輸出完畢換行
}
for (i = 7; i >= 1; i--)
{ //下7行
for (j = 1; j <= 40 - 2 * i; j++)
printf(" "); //左邊的空格,每下壹行左邊的空格比上壹行少2個//8*(n+1)-2*i
for (k = 1; k <= 4 * i - 1; k++)
printf("%c", c); //每下壹行的字符小愛心比上壹行少4個(這個循環是i--)
printf("\n"); //每壹行輸出完畢換行
}
for (i = 1; i <= 39; i++)
printf(" "); //最後壹行左邊的空格
printf("%c\n", c); //最後壹個字符小愛心
for (i = 1; i <= 5; i++)
printf("\n"); //最後空出5行
return 0;
}