产生随机组丢到txt中

来源:互联网 发布:docker nginx 镜像 编辑:程序博客网 时间:2024/06/06 09:43

         看到随机数跟文件就拿来练练手了

         写的不是很简洁,希望以后能有所提高!

         产生7个随机数,数和为100,随机数要求在5-40间产生,本程序没有实现这个数据范围的控制,还没有想到比较好的办法。

         随后输出这个数组到新建的txt文件(可以多组输出)。


#include<stdio.h>#include<stdlib.h>#include<time.h>#include<malloc.h>#define  max  40float *rand_num(float *b){    int     a[7];    float   sum=0;    int i=0;    for(i=0;i<7;i++)   {      a[i] = 5 + rand() % max;      sum+=a[i];   }    for(i=0;i<7;i++)    b[i]=a[i]*100/sum;    for(i = 0 ; i < 7 ; i++){    printf("%f\t",b[i]);}printf("\n");return b;}void main(){   float *b,*a;   int i=0,j;   int n;   int flag=0;   FILE  *fp;   fp=fopen("sum100.txt","w");    b=(float*)malloc(sizeof(float)*7);   a=(float*)malloc(sizeof(float)*7);   printf("输入随机数组组数:\n");   scanf("%d",&n);   getchar();   srand((unsigned)time(NULL));   for(i=0;i<n;i++)   {    a=rand_num(b);       for(j=0;j<7;j++)   {       fprintf(fp,"%f\t",a[j]);         flag++;       if(flag==7)   {       fprintf(fp,"\r\n");   flag=0;}}   }     getchar();   fclose(fp);}


0 0
原创粉丝点击