C语言输出任意行三角形倒三角形菱形平行四边形
时间: 2024-11-06 13:23:59 浏览: 27
在C语言中,绘制图形通常是通过控制字符打印在屏幕上实现的。这里我会简单介绍如何输出几种基本形状:
1. **三角形**:可以使用嵌套循环来打印星号(*),例如输出等腰三角形或上升三角形。
```c
#include <stdio.h>
void print_triangle(int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
printf("* ");
}
printf("\n");
}
}
// 调用函数
int main() {
int rows;
printf("Enter the number of rows: ");
scanf("%d", &rows);
print_triangle(rows);
return 0;
}
```
2. **倒三角形**:类似地,只需将内部循环的方向反转即可。
```c
void print_reverse_triangle(int n) {
for (int i = n - 1; i >= 0; i--) {
for (int j = 0; j <= i; j++) {
printf("* ");
}
printf("\n");
}
}
```
3. **菱形**:需要两个循环,外层控制行数变化,内层控制星号的位置。
```c
void print_diamond(int n) {
for (int i = 0; i < n; i++) {
if (i == 0 || i == n - 1) {
// 上下部分是直线
for (int j = 0; j < i * 2 + 1; j++) {
printf("* ");
}
} else {
// 中间部分是斜线
for (int j = 0; j < n - i * 2; j++) {
printf(" "); // 空格占位
}
for (int j = 0; j < i; j++) {
printf("* ");
}
for (int j = 0; j < i; j++) {
printf("* ");
}
printf("\n");
}
}
}
```
4. **平行四边形**:可以用类似菱形的方式,只在两侧加上空格或星号形成对称的效果。
```c
void print_rectangle(int width, int height) {
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
if (j < i || j > width - i - 1) {
printf(" "); // 只在边缘填充星号
} else {
printf("* ");
}
}
printf("\n");
}
}
```
阅读全文