随机数生成并写入文件(C实现)

#include <stdlib.h>  
#include <stdio.h>  
#include <time.h>  
  
//生成随机数列  
int write()  
{  
    int i,j;  
    FILE *pf = NULL;  
    int a1[50],a2[50];  
    srand((unsigned)time(NULL));//随机种子  
    pf = fopen("C:\\Users\\Administrator\\Desktop\\data.txt","a");  
    //生成数列  
    for(i=0; i<50; i++)  
    {  
        a1[i] = 1+(int)(5399.0*rand()/(RAND_MAX+1.0));
        a2[i] = 1+(int)(5.0*rand()/(RAND_MAX+1.0));
    }  
    //格式化输出到文件中  
    for(i=0; i<47; i++)  
    {  
    		
            fprintf(pf,"%-5d",a1[i+j]);  
            fprintf(pf,"%-5d",a2[i+j]);
        	fprintf(pf,"\n");  
    }  
    fclose(pf);  
    return 0;  
}  
int read()  
{  
    int i,j;  
    FILE *pf;  
    int arr[2000];  
    if((pf = fopen("sort.txt","r"))==NULL)  
    {  
        printf("Error\n");  
        system("PAUSE");  
        exit(1);  
    }  
    //读取文件内容到数列  
    for(i=0; i<200; i++)  
    {  
        for(j=0; j<10; j++)  
        {  
            fscanf(pf,"%d",&arr[i*10+j]);  
        }  
        fscanf(pf,"\n");  
    }  
    fclose(pf);  
    //将数列输出到屏幕  
    for(i=0; i<200; i++)  
    {  
        for(j=0; j<10; j++)  
        {  
            printf("%-5d",arr[i*10+j]);  
        }  
        printf("\n");  
    }  
  
    return 0;  
}  

int main(){
	
	write();
	
	return 0;
}

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的示例代,可以生成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",以便于后续读取文件的处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值