2)要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列 格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2; 符号数先从大,如何用c语言代码表示
时间: 2023-08-26 16:06:48 浏览: 93
以下是C语言代码实现:
```
#include <stdio.h>
void printHourglass(int n) {
int i, j, k;
// 打印上半部分
for (i = 1; i <= n; i += 2) {
for (j = 0; j < (n - i) / 2; j++) {
printf(" ");
}
for (k = 0; k < i; k++) {
printf("*");
}
printf("\n");
}
// 打印下半部分
for (i = n - 2; i >= 1; i -= 2) {
for (j = 0; j < (n - i) / 2; j++) {
printf(" ");
}
for (k = 0; k < i; k++) {
printf("*");
}
printf("\n");
}
}
int main() {
int n;
printf("请输入符号个数:");
scanf("%d", &n);
printHourglass(n);
return 0;
}
```
使用时,输入符号个数即可打印出对应的沙漏形状。例如输入17,即可得到如下输出:
```
*********
*******
*****
***
*
***
*****
*******
*********
```
阅读全文