当前位置:编程学习 > C/C++ >>

C语言编程求解

编写利用随机数产生若干个整数存入文件,然后从文件中读出整数,显示在屏幕上,并统计文件中有多少个整数,找出其中最大的整数和最小的整数
追问:- -这位大神,能不能写一个程序让我参考一下
答案:参考程序:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

void input();
void output();

int main()
{
    input();
    output();
    return 0;
}

void input()
{
    int n,m,i;
    FILE *pf;
    pf=fopen("text.txt","w");
    srand((unsigned)time(NULL));//更新随机种子
    n=rand()%100;//产生100以内整数,这是产生随机数的个数
    for(i=0;i<n;i++)
    {
        m=rand()%100;//产生100以内整数,准备输出
        fprintf(pf,"%d\n",m);//将整数写入文件
    }
    fclose(pf);
}

void output()
{
    int max,min,n,i;
    FILE *pf;
    pf=fopen("text.txt","r");
    min=100,max=0;
    for(i=0;fscanf(pf,"%d",&n)!=EOF;i++)
    {
        printf("%d\n",n);
        max=(max>n?max:n);
        min=(min<n?min:n);
    }
    printf("一共%d个整数\n",i);
    printf("最大整数为:%d\n",max);
    printf("最小正数为:%d\n",min);
}

运行完成后,会自动生成一个text.txt的文件,里边就是写入的数字。不知道LZ是不是这个意思
其他:利用rand()产生随机数,然后一个一个以字符串形式写入文件,至于整数间的分隔符可以自定义一个非数字的就行,读取显示就是fopen fread的事情了,你可以一次性读取到缓冲区中然后遍历字符串的方式,读取到一个分隔符就说明一个整数,最大整数和最小整数就是分别用两个临时变量记录,每读取到一个整数就比较,取较大和较小数更新两个临时变量,最终输出结果即可。 #include<stdio.h>
#include<math.h>
void main()
{double s=0,x,y=0,p;
int i=2;
scanf("%lf",&x);
printf("%lf\n",x);
p=x*x/2;
printf("%lf\n",p);
while(p>pow(10,-5))
{i=i+2;
 s+=p;
p=p*x*x/i/(i-1);
printf("%lf\n",p);
}
printf("%lf\n",s);
}
上述程序运行没错,不知道是否符合你的题意.. 
如果输入n,最后一项,或者还没到最后一项,绝对值就小于10^(-5),输入n有什么意义啊...
如果要输入n,int n;那么输入scanf("%d",&n);就可以了...

上一个:急!!!懂c语言的各位帮我写写这道c语言题 谢谢了
下一个:C语言题目,问题如下!

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,