第1周笔记2-随机数生成并写入文件(C语言)

//随机生成1~10000之间的数字写入文件并读取文件 
#include<stdio.h>	
#include<stdlib.h>
#include<time.h>
void write(){
	//文件指针,打开文件 
	FILE *fp;
	fp = fopen("./data/number.txt","a");
	//生成随机数并存入数组
	int i,a[50]; 
	srand((unsigned)time(NULL)); //随机种子
	for(i=0;i<50;i++){
		a[i]=1+(int)(9999*rand()/RAND_MAX+1.0);
	} 
	//格式化写入文件 
	for(i=0;i<50;i++){
		fprintf(fp,"%-5d",a[i]);
		fprintf(fp,"\n");
	} 
	//关闭文件 
	fclose(fp);
}
void read(){
	FILE *fp;
	//文件打开错误
	if((fp=fopen("./data/number.txt","r"))==NULL){
		printf("error open!");
		system("PAUSE");
		exit(0);
	} 
	//文件打开正确
    int i,a[50];
	//读取到数组
	for(i=0;i<50;i++){
		fscanf(fp,"%d",&a[i]);
		fscanf(fp,"\n");
	} 
	fclose(fp);
	//显示至屏幕 
	for(i=0;i<50;i++){
		printf("%-5d",a[i]);
		printf("%-5d",i);   
		printf("\n"); 
	}
} 
int main(){
	write();
	read();
	return 0;
} 

一些函数说明

C语言中的rand()函数:https://blog.csdn.net/lvyibin890/article/details/80141412

srand rand RAND_MAX 分别是什么意思:https://zhidao.baidu.com/question/561896384978233364.html

关于rand()和srand():https://blog.csdn.net/u013745804/article/details/82379266

srand(time(NULL));//这条指令什么意思:https://zhidao.baidu.com/question/349669772.html

 

 

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,以下是一个简单的示例代码,可以生成10个不同的随机数并将它们写入到名为"random.txt"的文本文件中: ```c #include <stdio.h> #include <stdlib.h> #include <time.h> #define MAX_NUM 100 // 随机数的最大值 #define FILENAME "random.txt" // 文件名 int main() { int i, j, num; int random[10]; // 存储随机数的数组 FILE* fp; // 文件指针 srand(time(NULL)); // 初始化随机数种子 // 生成10个不同的随机数 for (i = 0; i < 10; i++) { do { num = rand() % MAX_NUM + 1; // 生成1~MAX_NUM之间的随机数 for (j = 0; j < i; j++) { if (num == random[j]) // 如果生成随机数已经存在,则重新生成 break; } } while (j < i); random[i] = num; // 将随机数存入数组 } // 将随机数写入文件 fp = fopen(FILENAME, "w"); if (fp == NULL) { printf("无法打开文件 %s\n", FILENAME); return 1; } for (i = 0; i < 10; i++) { fprintf(fp, "%d\n", random[i]); // 写入文件 } fclose(fp); printf("随机数生成写入文件 %s\n", FILENAME); return 0; } ``` 这段代码使用了C语言的标准库函数rand()生成随机数,并利用了time()函数获取当前时间作为随机数种子,以保证每次运行程序生成随机数序列不同。 在生成随机数的过程中,使用了一个嵌套的循环来确保每个生成随机数都与前面已经生成随机数不同。当然,这种方法并不是最优的,如果需要生成大量不同的随机数,可以考虑使用更高效的算法。 最后,利用标准库函数fopen()打开一个名为"random.txt"的文本文件,并利用fprintf()函数将生成随机数写入文件中。注意,在写入文件时,每个随机数后面要加上换行符"\n",以便于后续读取文件时的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值