c语言根据读入的字符和边长,勾画字符棱形。 输入 输入数据含有不超过50组的数据,每组数据包括一个可见字符c和一个整数n(1≤n≤30)。 输出 输出以c为填充字符,边长为n的棱形,勾画每个棱形时都应另起一行。 输入输出样例 样例输入 #1 A 5 B 3
时间: 2024-12-19 21:29:05 浏览: 9
在 C 语言中,你可以通过嵌套循环来根据给定的字符 `c` 和边长 `n` 构造棱形。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
void draw_polygon(char c, int n) {
for (int i = 0; i <= n; i++) {
// 上半部分
for (int j = 0; j <= n - i; j++) {
printf(" ");
}
for (int k = 0; k <= i; k++) {
printf("%c", c);
}
printf("\n");
// 如果不是最外层,添加下半部分
if (i != n) {
for (int j = 0; j <= i; j++) {
printf("%c", c);
}
for (int j = n - i - 1; j >= 0; j--) {
printf(" ");
}
printf("\n");
}
}
}
int main() {
char c;
int n;
while (scanf("%c %d", &c, &n) == 2 && c != EOF && n > 0) { // 防止无限循环并处理结束标志
draw_polygon(c, n);
printf("\n"); // 每对输入后换行
}
return 0;
}
```
这个程序首先定义了一个函数 `draw_polygon`,它接受一个字符和一个整数作为参数,然后使用两个嵌套的循环构建棱形。外部循环控制行数,内部循环分别打印空格和字符。如果这不是最外层,还会在行尾加上对应的字符。
在 `main` 函数里,我们从用户那里读取输入,并调用 `draw_polygon` 函数绘制每个棱形,然后在每次输入之后添加换行符。
如果你运行这个程序,并输入样例输入 `#1 A 5` 或者 `B 3`,你会看到相应的棱形结果。
阅读全文