#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;
}
如下程序是计算10名学生的平均分,修改为从文件cj. txt中读成绩进行计算。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 技术专家团-小桥流水 2022-04-26 17:08关注
代码如下:
#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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥20 关于php中URL传递GET全局变量的问题
- ¥15 怎么改成循环输入删除(语言-c语言)
- ¥15 安卓C读取/dev/fastpipe屏幕像素数据
- ¥15 pyqt5tools安装失败
- ¥15 mmdetection
- ¥15 nginx代理报502的错误
- ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
- ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
- ¥100 描述一下元器件的基本功能,pcba板的基本原理
- ¥15 STM32无法向设备写入固件