c语言怎么打印菱形

如题所述

#include <stdio.h>
int main()
{
int i,j,m,n;
printf("请输入菱形的行数:");
//判断n是否符合正奇数的要求
while (scanf("%d", &n) != EOF && n % 2 == 1)
{ //对上半个菱形输出
for (i = 1; i <= (n + 1) / 2; i++)
{
//i控制行数,j控制每一行的位置
//输出空格
for (j = 1; j <= (n + 1) / 2 - i; j++)
printf(" ");
//输出*
for (j = 1; j <= 2 * i - 1; j++)
printf("*");
//输出换行
printf("\n");
}
//输出下一半
//i控制行数
for (i = 1; i <= n / 2; i++)
{
//j控制每一行的位置
//输出空格
for (j = 1; j <= i; j++)
printf(" ");
//输出*
for (j = 1; j <= n - 2 * i; j++)
printf("*");
//输出换行
printf("\n");
}
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答