打印菱形星号“*”图案。输入一个正整数n(n为奇数),打印一个高度为n的菱形星号“*”图案。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int n, half, i = 1, j, k, add = 1;
printf("Input a number:");
scanf("%d", &n);
// 算中值
if (n % 2 != 1) {
printf("%d is not odd number!", n);
return 1;
}
half = n/2 + 1;
while (i>0) {
for(j=half-i;j>0;j--) {
printf(" ");
}
for (k=1; k<i+1; k++) {
printf("* ");
}
printf("\n");
if (i == half) {
add = -1;
}
i+=add;
}
return 0;
}
运行结果
Input a number:7
*
* *
* * *
* * * *
* * *
* *
*