用C语言从键盘输入个数和随机数种子,在数组elem中生成指定个数的数据,供其他程序使用,0表示数据结束
时间: 2024-09-06 19:01:08 浏览: 44
c语言数组与链表转化-分别用数组和链表实现堆栈(C语言版)(转) 数组和链表.pdf
在C语言中,你可以通过以下步骤从键盘输入个数和随机数种子,并在数组中生成指定个数的数据:
1. 首先,你需要包含必要的头文件:
```c
#include <stdio.h> // 输入输出
#include <stdlib.h> // 动态内存分配和随机数生成
#include <time.h> // 时间函数(获取当前时间作为随机数种子)
```
2. 接下来,定义一个函数来生成随机数并填充数组:
```c
void fill_array(int *elem, int num) {
srand(time(0)); // 设置随机数种子为当前时间
for (int i = 0; i < num; ++i) {
elem[i] = rand() % 100; // 这里假设生成的是0到99之间的整数
printf("%d ", elem[i]); // 输出生成的数字便于检查
}
elem[num] = 0; // 数组最后一个元素置为0,表示数据结束
}
```
3. 主函数部分接收用户输入并调用上述函数:
```c
int main() {
int n;
printf("请输入数组元素的数量: ");
scanf("%d", &n);
int *array = malloc(n * sizeof(int)); // 动态分配内存
if (array == NULL) {
printf("内存分配失败!");
return 1;
}
fill_array(array, n); // 生成并填充数组
printf("\n生成的随机数组: ");
for (int i = 0; array[i] != 0; ++i) {
printf("%d ", array[i]);
}
free(array); // 释放动态分配的内存
return 0;
}
```
阅读全文