C语言:如何打印星星
//打印星星
//k是两个上下部分都一样的空格
/*i j k k j
0 0 (上) 4 (下)1 6
1 2 3 2 4
2 4 2 3 2
3 6 1 4 0
*/
int i;//外部,行数
int j;//内部 ,星星的位置
int k;//上下空格
#include <stdio.h>
int main()
{
int i;//外部,行数
int j;//内部 ,星星的位置
int k;//上下空格
//上部分的星星
for(i = 0; i < 4; i++)
{
//第一部分,打印空格
for(k = 0; k < 4 - i; k++)
{
printf(" ");
}
//第二部分打印星星,中间挖空
for(j = 0; j <= i * 2; j++)
{
if(i == 0 || j == 0 || j == i * 2)//中间挖空,打印第一个和最后一个星星
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
//下部分的星星
for(i = 0; i < 4; i++)
{
//打印空格
for(k = 0; k < i + 1; k++)
{
printf(" ");
}
//打印星星,控制空格中间挖空
for(j = 0; j <= 6 - (2*i); j++)
{
if(i == 8 || i == 9 || j == 0 || j == 6 - (2*i)) //中间挖空
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
return 0;
}
运行结果:
本文来自博客园,作者:竹等寒,转载请注明原文链接。