使用c语言用*打印一个平行四边形,该四边形从左上角开始,高度为a行,宽度为b列,相邻的两行中,下面一行前面比上面一行的多 c 个空格
时间: 2024-10-22 07:21:22 浏览: 62
一个将灰度高度图图像转换为 STL 三角形网格的简单程序_c语言
5星 · 资源好评率100%
在C语言中,你可以使用循环和字符串连接功能来创建这样的平行四边形。这里是一个示例函数,它接受三个整数参数:a表示高度,b表示宽度,c表示每行之间的额外空格数:
```c
#include <stdio.h>
#include <string.h>
void print_parallelogram(int a, int b, int c) {
char spaces[c + 1]; // 创建一个用于存储空格的字符数组
for (int i = 0; i <= c; i++) {
spaces[i] = ' ';
}
spaces[c + 1] = '\0'; // 确保字符串结束
// 打印第一行
for (int j = 0; j < b; j++) {
printf("*");
}
printf("\n");
// 打印中间的(a - 1)行
for (int i = 1; i < a - 1; i++) {
for (int j = 0; j < b; j++) {
printf("*");
if (j != 0 && j != b - 1) {
printf("%s", spaces);
}
}
printf("\n");
}
// 打印最后一行,与第一行类似但不需要增加空格
for (int j = 0; j < b; j++) {
printf("*");
}
printf("\n");
}
// 调用函数并设置参数值
int main() {
int a = 4, b = 6, c = 2;
print_parallelogram(a, b, c);
return 0;
}
```
这个程序首先创建一个足够长的空格字符串,然后逐行打印平行四边形。第一行和最后一行只包含星号,而中间的每一行在星号之间插入了指定数量的空格。
阅读全文