#include<stdio.h>
#define N 10
float tj_avg(int a[]);
void main( )
{
int scores[N],i;
float avg_m;
freopen("cj.txt","r",stdin);
for (i=0;i<N;i++)
scanf("%lf",&index); //这里应该是需要修改的吧,怎么改呢
avg_m =tj_avg( scores);
printf("平均分为%.2f\n",avg_m);
}
float tj_avg(int a[])
{
float avg;int i,sum = 0;
for(i = 0;i<N;i++)
sum = sum+a[i];
avg = (float)sum/N;
return avg;
}
代码如下:
#include<stdio.h>
#define N 10
float tj_avg(int a[],int n);
void main()
{
int scores[N], i;
int n;
float avg_m;
FILE* fp = fopen("cj.txt", "r");
if (fp == 0)
{
printf("文件打开错误");
return ;
}
n = 0;
while (!feof(fp))
{
if (fscanf(fp, "%d", &scores[n])) //成绩以空格分隔
{
if(scores[n] >= 0) //验证成功读取数据
n++;
}
}
fclose(fp);
avg_m = tj_avg(scores,n);
printf("平均分为%.2f\n", avg_m);
}
float tj_avg(int a[],int n)
{
float avg; int i, sum = 0;
for (i = 0; i < n; i++)
sum = sum + a[i];
avg = (float)sum / n;
return avg;
}
用fopen打开文件,然后读取成绩。这里你得说明文件中成绩是如何存储的。每个成绩是浮点数还是整数,成绩之间用什么分隔,是每行一个成绩还是一行中都是成绩。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!