用户输入一个奇数,输出总行数与总列数等于此奇数的菱形,如下图:
#include <stdio.h>
int main() {
int num, a ,line,b= 0;
printf(“请输入菱形的行数(奇数):”);
scanf_s("%d",&num);
//输出上半部分
for (line = 1; line <= (num+1)/2; line++) {//line是行号
a = (num-1)/2 - line + 1;//a是第i行空格个数=(总行数-1)/2-i+1
while (a > 0){
printf(" ");
a–;
}
b = 2 * line - 1;//第line行的*数
while ( b>0) {
printf("*");
b--;
if (b == 0)
printf("\n");
}//若打满* 个数,退出循环
}
//输出下半部分
for (line = (num + 1) / 2+1; line <= num; line++) {//line是行号
a = line- (num+1) / 2;//a是第i行空格个数=(总行数-1)/2-i+1=2*num-i-1
while (a > 0) {
printf(" ");
a–;
}
b = 2 * num-2*line+1;//第line行的*数
while (b > 0) {
printf("*");
b--;
if (b == 0)
printf("\n");
}//若打满* 个数,退出循环
}
return 0;
}