当你再键盘上输入一个奇数a时(若输入偶数则自动减1),则会再屏幕上显示腰长为a的菱形(由*组成).
em...水
#include <stdio.h>
#include <stdlib.h>
int main() {
int line; // 菱形总行数
int column; // 菱形总列数
int i; // 当前行
int j; // 当前列
printf("请输入菱形的行数(奇数):");
scanf("%d", &line);
if (line % 2 == 0) { // 判断是否是奇数
line--;
}
column = line; // 总行数和总列数相同
for (i = 1; i <= line; i++) { // 遍历所有行
if (i < (line + 1) / 2 + 1) { // 上半部分(包括中间一行)
for (j = 1; j <= column; j++) { // 遍历上半部分的所有列
if ((column + 1) / 2 - (i - 1) <= j && j <= (column + 1) / 2 + (i - 1)) {
printf("*");
}
else {
printf(" ");
}
}
}
else { // 下半部分
for (j = 1; j <= column; j++) { // 遍历下半部分的所有列
if ((column + 1) / 2 - (line - i) <= j && j <= (column + 1) / 2 + (line - i)) {
printf("*");
}
else {
printf(" ");
}
}
}
printf("\n");
}
return 0;
}