用c语言随机数打印菱形
时间: 2024-10-06 19:03:20 浏览: 36
在 C 语言中,使用随机数生成菱形图案可以增加程序的趣味性和动态性。这里是一个简单的示例,我们将使用 printf 函数以及 rand() 和 srand() 函数来生成随机字符并构建菱形:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 需要引入时间库,用于设置随机种子
// 定义菱形的最大行数
#define MAX_ROWS 50
// 生成随机字符(这里使用 '*' 作为示例)
int random_char() {
return rand() % 26 + 'A'; // 可以改为其他范围,例如 '0' 到 '9'
}
void print_diamond(int rows) {
int i, j;
for (i = 1; i <= rows; i++) {
// 上半部分,从左到右递增
for (j = 1; j <= 2 * i - 1; j++)
printf("%c", random_char());
printf("\n");
}
// 下半部分,从中间向两边递减
for (i = rows - 1; i >= 1; i--) {
for (j = rows - i; j > 0; j--)
printf("%c", random_char());
if (i == 1)
printf("*\n"); // 最底下一行只打印*
else
printf("%*c\n", 2 * i - 1, random_char()); // 中间空格
}
}
int main() {
srand(time(0)); // 设置随机种子,保证每次运行结果不同
print_diamond(MAX_ROWS);
return 0;
}
```
这个程序首先设置随机数种子,然后根据给定的行数(在这个例子中是 `MAX_ROWS`),上半部分逐行打印字符,下半部分则是逐行减少字符直到中心的星号。每次运行时,因为随机数的不同,生成的菱形图案都会有所变化。
阅读全文