2201_75587619 2022-12-09 18:49 采纳率: 50%
浏览 17
已结题

dve-c++求帮改代码

运行下来平均数为0.00,求改这部分

#include<stdio.h>
float average(float b[],int n)
{ int i;
  float sum=b[0];
  for(i=0;i<n;i++)
     sum+=b[i];
    return(sum/n);
}

int main()
{ int a,n,i;
  float aver,b[100];
  printf("输入学生人数:");
  scanf("%d",&a);
  for(n=1,i=0;n<=a;n++,i++)
     {
     printf("输入第%d个学生的成绩:",n);
     scanf("%d",&b[i]);
     }
     aver=average(b,a);
  printf("这%d个学生的期末成绩平均分为:%.2f",a,aver);
}

  • 写回答

2条回答 默认 最新

  • a5156520 2022-12-09 18:59
    关注

    应该是因为for循环内scanf()获取学生的成绩用的修饰符为%d,而不是%f,所以数据出错了,把%d改为%f;然后把求平均分的average()函数的变量和sum初始化为0即可,修改如下:

    #include<stdio.h>
    float average(float b[],int n)
    { int i;
      float sum=0;
      for(i=0;i<n;i++)
         sum+=b[i];
        return(sum/n);
    }
    int main()
    { int a,n,i;
      float aver,b[100];
      printf("输入学生人数:");
      scanf("%d",&a);
      for(n=1,i=0;n<=a;n++,i++)
         {
         printf("输入第%d个学生的成绩:",n);
         scanf("%f",&b[i]);
         }
         aver=average(b,a);
      printf("这%d个学生的期末成绩平均分为:%.2f",a,aver);
    }
    
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月17日
  • 已采纳回答 12月9日
  • 创建了问题 12月9日

悬赏问题

  • ¥15 wpf datagrid如何实现多层表头
  • ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。
  • ¥20 网站后台使用极速模式非常的卡
  • ¥20 Keil uVision5创建project没反应
  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程