c 语言打印菱形图形
时间: 2024-01-23 14:15:31 浏览: 199
以下是使用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语言代码示例:
```
#include <stdio.h>
int main()
{
int n, i, j, space = 1;
printf("Enter the number of rows: "); scanf("%d", &n);
space = n - 1;
for (j = 1; j <= n; j++)
{
for (i = 1; i <= space; i++)
printf(" ");
space--;
for (i = 1; i <= 2 * j - 1; i++)
printf("*");
printf("\n");
}
space = 1;
for (j = 1; j <= n - 1; j++)
{
for (i = 1; i <= space; i++)
printf(" ");
space++;
for (i = 1; i <= 2 * (n - j) - 1; i++)
printf("*");
printf("\n");
}
return 0;
}
```
输入菱形的行数后,程序会打印出对应的实心菱形。
阅读全文