题目描述
输入一个正整数 repeat (0<repeat<10),做repeat 次下列运算:
输入一个正的奇数n,输出对角线长度为n的菱形。(*后面没有空格)
输入
见sample
输出
见sample
样例输入
2
3
5
样例输出
*
***
*
*
***
*****
***
*
#include <stdio.h>
int main(){
int repeat,n,a,b,c;
scanf("%d",&repeat);
while (repeat--) {
scanf("%d",&n);
for (a=1; a<=(n+1)/2; a++) { //中间及以上的行数为(n+1)/2,所以上半部分循环的次数为(n+1)/2
for(b=1;b<=(n+1)/2-a;b++){ //每一行左半边的空格数为(n+1)/2-所在行数*
printf(" ");
}
for(c=1;c<=2*a-1;c++){ //*的个数为行数的二倍减
printf("*");
}
printf("\n");
}
for(a=1;a<=(n-1)/2;a++){ //下半部分的行数比上半部分少一
for(b=1;b<=a;b++){ //空格数依次增
printf(" ");
}
for(c=1;c<=n-2*a;c++){ //*数依次减少
printf("*");
}
printf("\n");
}
}
return 0;
}
本体主要要注意for循环的条件