c 语言打印菱形图形
时间: 2024-01-23 20:15:31 浏览: 246
以下是使用C语言打印菱形图形的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n = 0;
scanf("%d", &n); // 输入一个奇数
int center_x = n / 2;
int center_y = n / 2;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (abs(i - center_x) + abs(j - center_y) <= n / 2) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
return 0;
}
```
这段代码通过输入一个奇数n,使用两层循环遍历行和列,根据中心点的坐标和当前位置与中心点的距离来判断是否打印"*"或空格,从而形成菱形图案。
相关问题
c 语言打印菱形图案
C语言可以使用循环结构和条件判断来打印出菱形图案。这里给出一个简单的示例,用于打印上半部分的菱形:
```c
#include <stdio.h>
void print_diamond(int n) {
// 打印上半部分的菱形
for (int i = 0; i < n; i++) {
// 空格的数量随着行数递增
int spaces = n - i - 1;
printf("%*s", spaces, ""); // 空格
// 菱形的星号字符
int stars = 2 * i + 1;
printf("*");// 星号
// 每行结束并换行
if (i != n / 2)
printf("\n");
}
// 打印下半部分的倒置菱形
for (int i = n - 1; i > 0; i--) {
// 上下部分的星号数量相同
int stars = 2 * i - 1;
// 左侧空格的数量随着行数递减
int spaces = n - i;
printf("%*s", spaces, ""); // 空格
printf("*"); // 星号
if (i != 1)
printf("\n");
}
}
int main() {
int rows;
printf("Enter the number of rows for the diamond pattern: ");
scanf("%d", &rows);
print_diamond(rows);
return 0;
}
```
在这个程序中,用户会被提示输入菱形的行数,然后`print_diamond`函数会根据这个输入打印出对应的菱形。输入5将会得到一个5行的菱形。
c 语言打印空心菱形
在 C 语言中,打印空心菱形可以采用循环结构和条件判断来实现。下面是一个简单的示例,展示了如何通过嵌套循环来打印出一个较小的空心菱形:
```c
#include <stdio.h>
// 定义菱形大小
#define SIZE 5
void print_hollow_diamond(int size) {
// 上半部分三角形
for (int i = 0; i < size; i++) {
for (int j = i; j < SIZE - i - 1; j++) {
printf(" ");
}
for (int k = 0; k < 2 * i + 1; k++) {
printf("*");
}
printf("\n");
}
// 下半部分倒置的三角形
for (int i = SIZE - 2; i >= 0; i--) {
for (int j = SIZE - i - 1; j > i; j--) {
printf(" ");
}
for (int k = 0; k < 2 * i + 1; k++) {
printf("*");
}
printf("\n");
}
}
int main() {
print_hollow_diamond(SIZE);
return 0;
}
```
运行这个程序会打印出一个边长为 5 的空心菱形。你可以通过更改 `SIZE` 值来调整菱形的大小。
阅读全文