格式化读写函数出错,求帮助。
这个程序哪里出错了?我觉得应该是格式化读写函数中哪里有错,可找不到,求帮助
/*7.请编制程序,读取20个整数至数组xx中
求出奇数的个数cnt1和偶数的个数cnt2
以及数组xx中下标为奇数的元素值的算术平均值pj(保留2位小数)。
结果cnt1,cnt2,pj输出。要求用二个以上的函数完成。*/
#include <stdio.h>
#define N 20
void count()
{
int a[N];
int j,k,cnt1=0,cnt2=0,sum=0;
float ave;
for(j=0;j<N;j++)
{
k=a[j]%2;
if(k!=0)
{
cnt1++;
sum=sum+a[j];
}
else
cnt2++;
}
ave=sum/(float)cnt1;
}
int main()
{
int a[N];
int j=0,cnt1=0,cnt2=0;
float ave;
FILE* fp=fopen("test.txt","r");
if((fp=fopen("test.txt","r"))==NULL)
{
printf("无文件\n");
exit(0);
}
printf("**************************原始数据如下**************************\n");
for(j=0;j<N;j++)
{
fscanf(fp,"%d",&a[j]);
while(fscanf(fp,"%d",&a[j])!=EOF)
{
count();
printf("%d\n",a[j]);
}
}
printf("奇数个数为:%d\n",cnt1);
printf("偶数个数为:%d\n",cnt2);
printf("下标为奇数的算术平均数为:%.2f\n",ave);
fclose(fp);
}