m0_64919030 2022-05-14 23:40 采纳率: 33.3%
浏览 17
已结题

SOS,帮我看看吧,不知道哪里错了

#include <stdio.h>
#include <stdlib.h>
double statistics(int *score,int num,int *maxId,int minId);
int main()
{
int score[200],num,maxId,minId;
double average;
scanf("%d",&num);
FILE
fp;
fp=fopen("成绩.txt","r");
for(int i=0;i<num;i++)
{
fscanf(fp,"%d",&score[i]);
}
fclose(fp);
statistics(&score[200],num,&maxId,&minId);
printf("%d %d %lf",maxId,minId,average);
return 0;
}
double statistics(int *score,int num,int *maxId,int *minId)
{
int sum=0;
double average;
*maxId=score[0];
*minId=score[0];
for(int i=0;i<num;i++)
{
if(*maxId<=score[i])
*maxId=score[i];
}
for(int i=0;i<num;i++)
{
if(*minId>=score[i])
*minId=score[i];
}
for(int i=0;i<num;i++)
{
sum+=score[i];
}
average=sum/num;
return average;
}

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-05-15 00:46
    关注

    修改如下,供参考:

    #include <stdio.h>
    #include <stdlib.h>
    double statistics(int *score,int num,int *maxId,int *minId);
    int main()
    {
        int i,score[200],num,maxId,minId;//修改
        double average;
        scanf("%d",&num);
        FILE* fp;
        fp=fopen("成绩.txt","r");
        if(fp != NULL) {          //修改
            for(i=0;i<num;i++)
               if(fscanf(fp,"%d",&score[i]) != 1) break;//修改
            fclose(fp);
            average = statistics(score,i,&maxId,&minId);//修改
              //statistics(&score[200],num,&maxId,&minId);
            printf("%d %d %lf",maxId,minId,average);
        }
        else
            printf("Open file fail!\n");//修改
    
        return 0;
    }
    double statistics(int *score,int num,int *maxId,int *minId)
    {
        int sum=0;
        double average=0;
        *maxId=score[0];
        *minId=score[0];
        for(int i=0;i<num;i++) //修改
        {
            if(*maxId < score[i]) //修改
               *maxId=score[i];
            if(*minId > score[i]) //修改
               *minId=score[i];
            sum+=score[i];
        }
        if(num != 0) //修改
           average=(double)sum/num; //修改
        return average;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月23日
  • 已采纳回答 5月15日
  • 创建了问题 5月14日

悬赏问题

  • ¥15 前端echarts坐标轴问题
  • ¥15 CMFCPropertyPage
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码
  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题
  • ¥15 谁会P4语言啊,我想请教一下
  • ¥15 这个怎么改成直流激励源给加热电阻提供5a电流呀
  • ¥50 求解vmware的网络模式问题 别拿AI回答
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳