c语言 读文件 将数据存入数组
题目描述:从输入文件“data.in”中读入N个数到数组中,求平均值,并统计有多少个数字在平均值之上。要求C源程序命名为test.c输入文件data.in内容为N整数1整...
题目描述:从输入文件“data.in”中读入N个数到数组中,求平均值,并统计有多少个数字在平均值之上。
要求
C源程序命名为test.c
输入文件data.in内容为
N
整数1
整数2
……
整数N
注意:输入文件包含N+1行,每行一个整数,前后没有多余的空格和换行
可能存在非法输入
main返回值含义如下
0表示正常结束
1表示文件无法读取
2表示输入错误
如输入正确,在屏幕输出两行
第一行:N个整数的平均值
第二行:有多少个数字在平均值之上
如存在错误,在屏幕输出”ERROR”
注意:输出的数据后仅跟一个换行符,前后不要有多余的空格或换行
程序比较短就没写注释了 刚接触c语言
还有关于这道题有没有什么好的方法
要是能给出代码那就更好了...
程序还没写完 调试的时候编译器报错: 展开
要求
C源程序命名为test.c
输入文件data.in内容为
N
整数1
整数2
……
整数N
注意:输入文件包含N+1行,每行一个整数,前后没有多余的空格和换行
可能存在非法输入
main返回值含义如下
0表示正常结束
1表示文件无法读取
2表示输入错误
如输入正确,在屏幕输出两行
第一行:N个整数的平均值
第二行:有多少个数字在平均值之上
如存在错误,在屏幕输出”ERROR”
注意:输出的数据后仅跟一个换行符,前后不要有多余的空格或换行
程序比较短就没写注释了 刚接触c语言
还有关于这道题有没有什么好的方法
要是能给出代码那就更好了...
程序还没写完 调试的时候编译器报错: 展开
2个回答
展开全部
#include<stdio.h>#include <stdlib.h>
#include <ctype.h>
int main()
{FILE *fp;
int i=0,j,s=0,flag=0,b[100];
float ave;
if((fp=fopen("data.in","r"))==NULL)
{return 1;}
char str[100];while(fscanf(fp,"%s",str)!=EOF)
{
if(!isdigit(atoi(str)))
{return 2;}
else
{b[i++]=atoi(str);}
}
for(j=0;j<i;j++)
{s=s+b[j];}
ave=s/i;
for(j=0;j<i;j++)
{if(b[j]>ave)
flag++;}
printf("%f\n%d\n",ave,flag);
return 0;}
#include <ctype.h>
int main()
{FILE *fp;
int i=0,j,s=0,flag=0,b[100];
float ave;
if((fp=fopen("data.in","r"))==NULL)
{return 1;}
char str[100];while(fscanf(fp,"%s",str)!=EOF)
{
if(!isdigit(atoi(str)))
{return 2;}
else
{b[i++]=atoi(str);}
}
for(j=0;j<i;j++)
{s=s+b[j];}
ave=s/i;
for(j=0;j<i;j++)
{if(b[j]>ave)
flag++;}
printf("%f\n%d\n",ave,flag);
return 0;}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询