c语言 读文件 将数据存入数组

题目描述:从输入文件“data.in”中读入N个数到数组中,求平均值,并统计有多少个数字在平均值之上。

要求
C源程序命名为test.c
输入文件data.in内容为
N
整数1
整数2
……
整数N
注意:输入文件包含N+1行,每行一个整数,前后没有多余的空格和换行
可能存在非法输入
main返回值含义如下
0表示正常结束
1表示文件无法读取
2表示输入错误
如输入正确,在屏幕输出两行
第一行:N个整数的平均值
第二行:有多少个数字在平均值之上

如存在错误,在屏幕输出”ERROR”
注意:输出的数据后仅跟一个换行符,前后不要有多余的空格或换行

程序比较短就没写注释了 刚接触c语言
还有关于这道题有没有什么好的方法
要是能给出代码那就更好了...
程序还没写完 调试的时候编译器报错:

第1个回答  2013-03-10
#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;}本回答被提问者采纳
第2个回答  2013-03-10
不等于!= no !==追问

哦,突然才发现,再麻烦你,这个问题最佳的解决方法是什么,能不能给出你的代码?非常感谢!!