int main()
{
int i, j, k, l, m
char c = '*' //用*号打印爱心
for (i = 1i <= 5i++)
printf("\n") //开头空出5行
for (i = 1i <= 3i++)
{ //前3行中间有空隙分开来写
for (j = 1j <= 32 - 2 * ij++)
printf(" ") //左边的空格,每下一行左边的空格比上一行少2个 //8*n-2*i
for (k = 1k <= 4 * i + 1k++)
printf("%c", c) //输出左半部分字符小爱心
for (l = 1l <= 13 - 4 * il++)
printf(" ") //中间的空格,每下一行的空格比上一行少4个
for (m = 1m <= 4 * i + 1m++)
printf("%c", c) //输出右半部分字符小爱心
printf("\n") //每一行输出完毕换行
}
for (i = 1i <= 3i++)
{ //下3行中间没有空格
for (j = 1j <= 24 + 1j++)
printf(" ") //左边的空格 //8*(n-1)+1
for (k = 1k <= 29k++)
printf("%c", c) //输出字符小爱心
printf("\n") //每一行输出完毕换行
}
for (i = 7i >= 1i--)
{ //下7行
for (j = 1j <= 40 - 2 * ij++)
printf(" ") //左边的空格,每下一行左边的空格比上一行少2个//8*(n+1)-2*i
for (k = 1k <= 4 * i - 1k++)
printf("%c", c) //每下一行的字符小爱心比上一行少4个(这个循环是i--)
printf("\n") //每一行输出完毕换行
}
for (i = 1i <= 39i++)
printf(" ") //最后一行左边的空格
printf("%c\n", c) //最后一个字符小爱心
for (i = 1i <= 5i++)
printf("\n") //最后空出5行
return 0
}
给你一个我早写的作参考——
#include <stdio.h>int main(int argc,char *argv[]){
char a[]="I love you I love you I love you I l"
printf("\n\n\n")
printf("%*.*s\n",58,21,"_*=_ _=*_")
printf("%*.*s\n",61,25,"I love yo u I love!")
printf("%*.*s\n",63,29,"I love you I l ove you I love")
printf("%*.*s\n",65,33,a)
printf("%*.*s\n",66,35,a)
printf("%*.*s\n",66,35,a)
printf("%*.*s\n",65,33,a)
printf("%*.*s\n",64,31,a)
printf("%*.*s\n",63,29,a)
printf("%*.*s\n",61,25,a)
printf("%*.*s\n",59,21,a)
printf("%*.*s\n",57,17,a)
printf("%*.*s\n",55,13,a)
printf("%*.*s\n",53,9,a)
printf("%*.*s\n",51,5,a)
printf("%*.*s\n",50,3,a)
printf("%*.*s\n",49,1,a)
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)