用c实现从键盘输入正数n(n<10),要求输出由数字组成的菱形图案。
时间: 2024-10-21 20:01:39 浏览: 17
输入一个数字n,输出一个n层的特定三角形
5星 · 资源好评率100%
在C语言中,你可以使用循环结构来实现这个功能。下面是一个简单的示例,它会从用户那里获取输入的正整数`n`,然后生成一个菱形模式:
```c
#include <stdio.h>
// 函数用于打印菱形的一个行
void printDiamondRow(int n, int level) {
// 上半部分,从中心向两边递增
for (int i = 0; i <= level; ++i) {
// 计算当前行的空格数
int spaces = level - i;
// 打印空格
for (int j = 0; j < spaces; ++j)
printf(" ");
// 打印星号
for (int k = 0; k < 2 * i + 1; ++k)
printf("*");
// 换行
printf("\n");
}
// 下半部分,从中心开始递减
for (int i = level - 1; i >= 0; --i) {
// 空格和星号的数量与上半部分相反
int spaces = level - i;
int stars = 2 * i;
// 打印空格
for (int j = 0; j < spaces; ++j)
printf(" ");
// 打印星号
for (int k = 0; k < stars; ++k)
printf("*");
// 换行
printf("\n");
}
}
int main() {
int n;
printf("请输入一个正数n(0 < n < 10): ");
scanf("%d", &n);
// 验证输入是否满足条件
if (n >= 1 && n < 10) {
printDiamondRow(n, n); // 菱形大小等于输入值
} else {
printf("输入错误,n应小于10。\n");
}
return 0;
}
```
当你运行这个程序时,它会提示用户输入一个正整数`n`,然后生成一个边长为`n`的菱形。注意,由于菱形的形状限制,当`n`大于4时,可能会超出屏幕显示范围。
阅读全文