C语言读取文件数据并进行计算(平均值,最值,0的个数)

求大神指教
C语言中从一个全是数字的文件text.txt中读取数据并计算其平均数,前十个最大的数,0的个数
如果可以的话最好也可以显示其行数
感激不尽!

#include
int main()
{ int i,j,n=0,n0=0,k=0;
double a[10000],s=0,t;
FILE *fp;
char c;
if(!(fp=fopen("text.txt","r")))
{printf("File open error!\n");
return 0;
}
for(;fscanf(fp,"%lf%c",&a[n],&c)!=-1;n++)
{if(a[n]==0)n0++;
if(c=='\n')k++;
s+=a[n];
printf("%g ",a[n]); //不需要显示时请把此行删除
}
if(c==32)k++;
fclose(fp);
for(i=0;i<10;i++)
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
{t=a[j]; a[j]=a[j+1];a[j+1]=t;}
printf("\n平均值:%g\n",s/n);
printf("前10个最大的数:");
for(i=n-1;i>n-11;i--)
printf("%g ",a[i]);
printf("\n0的个数:%d\n",n0);
printf("共有%d行\n",k);
return 0;
}

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网