本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。
输入格式:
输入在一行中给出一个正的奇数n。
输出格式:
输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。
输入样例:
7
输出样例:
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
代码:
#include<stdio.h>
int main() {
int n;
scanf("%d", &n);
int i = 0;
int j = 0;
for (i = n - 1; i > 1; i-=2) { //此嵌套循环输出上半部分(不含中间行)
for (j = 1; j <= i; j++) //输出每一行的空格数
printf("%c", 32);
for (j = 1; j <= n - i; j++) //输出该行的*(char)32
printf("*%c", 32);
printf("\n");
}
for (i = 1; i <= n; i++) //输出中间行的内容
printf("*%c", 32);
printf("\n");
for (i = 2; i <= n; i += 2) { //此嵌套循环输出下半部分(不含中间行)
for (j = 1; j <= i; j++) //输出每一行的空格数
printf("%c", 32);
for (j = 1; j <= n - i; j++) //输出该行的*(char)32
printf("*%c", 32);
printf("\n");
}
return 0;
}
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * *
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*