用c语言实现随机生成1000个整数(rand0),输出到文件里 2,将这1000个数字排序,输出到另一个文件里
时间: 2024-03-07 14:47:26 浏览: 52
c代码-生成50个0-50的整数,排序后输出。
好的,以下是 C 语言实现的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUMS_COUNT 1000 // 数字的个数
int cmpfunc(const void* a, const void* b) {
return (*(int*)a - *(int*)b);
}
int main() {
int rand_nums[NUMS_COUNT];
FILE* fp;
// 生成随机数并写入文件1
fp = fopen("file1.txt", "w");
srand(time(NULL));
for (int i = 0; i < NUMS_COUNT; i++) {
rand_nums[i] = rand() % 1000;
fprintf(fp, "%d\n", rand_nums[i]);
}
fclose(fp);
// 对随机数排序并写入文件2
qsort(rand_nums, NUMS_COUNT, sizeof(int), cmpfunc);
fp = fopen("file2.txt", "w");
for (int i = 0; i < NUMS_COUNT; i++) {
fprintf(fp, "%d\n", rand_nums[i]);
}
fclose(fp);
return 0;
}
```
在这个 C 语言实现中,我们使用了标准库函数 qsort 对随机数进行排序。我们还使用了 srand 函数,将时间作为种子,以便每次生成的随机数序列都不一样。
在代码中,我们先将生成的随机数写入文件1中,每个整数一行。然后,我们使用 qsort 函数对数组进行排序,并将排序后的结果写入文件2中,同样每个整数一行。
请注意,在代码中,我们使用 fprintf 函数向文件中写入整数,使用 \n 作为每个整数的分隔符。
阅读全文