输入一个正整数n(n为奇数),打印一个高度为n的“*”萎形图案。例如,当n=7,打印出一个菱形(使用c语言)
时间: 2024-10-17 16:04:52 浏览: 35
水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身;用熟悉的语言实现一个函数sxhs
在C语言中,你可以使用嵌套循环来实现这个任务。这里是一个简单的示例,用于打印一个奇数高度的菱形图案:
```c
#include <stdio.h>
void print_diamond(int n) {
int i, j, space;
// 上半部分星号打印
for (i = 0; i < n; ++i) {
space = n - i - 1; // 空格的数量
printf(" ");
for (j = 0; j <= i; ++j) { // 星号的数量
printf("*");
}
printf("\n"); // 换行
}
// 下半部分星号打印,从中间开始向两边递减
for (i = n - 1; i >= 0; --i) {
space = n - i - 1;
printf(" ");
for (j = n - i - 1; j > 0; --j) { // 从最外层到内层星号递减
printf("*");
}
printf("*\n"); // 中间的*单独一行
}
}
int main() {
int n;
printf("Enter a odd number: ");
scanf("%d", &n);
if (n % 2 == 1) { // 验证输入是否为奇数
print_diamond(n);
} else {
printf("Input should be an odd number.\n");
}
return 0;
}
```
当你运行程序并输入奇数如7时,它会打印出一个7行的菱形星号图案。
阅读全文