鱼C论坛

 找回密码
 立即注册
查看: 1325|回复: 3

[已解决]想求助一下这个c语言函数程序为什么运行结果有问有

[复制链接]
发表于 2023-1-12 14:34:44 | 显示全部楼层 |阅读模式
10鱼币
源码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
        float aver_student(int student[10][5],int n);
        /*float aver_class(int student,int n);
        int max(int student[10][5],int n);
        float fang(float ave,int n);*/
        int score[10][5]={0};
        int i=1,j=1;
        //for(i=1;i<=10;i++)//10名同学
        for(i=1;i<=3;i++)//3名同学
        {
        for(j=97;j<=101;j++)//5门成绩
                {
                printf("请输入%d同学的%c成绩:\n",i,j);
                scanf("%d",&score[i-1,j-97]);
                }
        }
        //for(i=1;i<10;i++)//10名同学
        for(i=1;i<=3;i++)//3名同学
        {
        printf("%d同学的平均分为%6.2f\n",i,aver_student(score,i));
        }
/*        for(i=1;i<4;i++)//ceshi
        {
       
        int j,sum=0;
        float aver=0;
        for(j=0;j<5;j++)//5门课程
        {
                sum=sum+score[i-1][j];
        }
        aver=sum/5;
        printf("%d同学的平均分为%6.2f\n",i,aver);
        }*/
        system("pause");
        return 0;
}
float aver_student(int student[10][5],int n)
{
        int i,sum=0;
        float aver=0;
        for(i=0;i<5;i++)//5门课程
        {
                sum=sum+student[n-1];
        }
        aver=sum/5;
        return aver;
}
运行结果
屏幕截图_20230112_142847.png

想问一下大佬到底是哪里出了问题QAQ
最佳答案
2023-1-12 14:34:45
本帖最后由 额外减小 于 2023-1-12 14:59 编辑

你这边代码有些问题,我帮你改了
删掉注释应该没事吧?
  1. #include<stdio.h>
  2. #include<stdlib.h>

  3. float aver_student(int student[10][5],int n);

  4. int main()
  5. {
  6.         
  7.         int score[10][5]={0};
  8.         int i=1,j=1;
  9.         for(i=1;i<=3;i++)
  10.         {
  11.                 for(j=97;j<=101;j++)
  12.             {
  13.                 printf("请输入%d同学的%c成绩:\n",i,j);
  14.                 scanf("%d",&score[i-1][j-97]);
  15.             }
  16.         }
  17.         for(i=1;i<=3;i++)
  18.         {
  19.                 printf("%d同学的平均分为%.2f\n",i,aver_student(score,i));
  20.         }
  21.         system("pause");
  22.         return 0;
  23. }

  24. float aver_student(int student[10][5],int n)
  25. {
  26.         int i,sum=0;
  27.         float aver=0;
  28.         for(i=0;i<5;i++)
  29.         {
  30.                 sum+=student[n-1][i];
  31.         }
  32.         aver=sum/5;
  33.         return aver;
  34. }
复制代码




你的源代码错处给你写注释上了
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int main()
  4. {
  5.         float aver_student(int student[10][5],int n);
  6.         int score[10][5]={0};
  7.         int i=1,j=1;
  8.         for(i=1;i<=3;i++)
  9.         {
  10.         for(j=97;j<=101;j++)
  11.                 {
  12.                 printf("请输入%d同学的%c成绩:\n",i,j);
  13.                 scanf("%d",&score[i-1,j-97]);/*这边二维数组元素的访问方法错了。应改为“score[i-1][j-97]  ”*/
  14.                 }
  15.         }
  16.         for(i=1;i<=3;i++)
  17.         {
  18.         printf("%d同学的平均分为%6.2f\n",i,aver_student(score,i));
  19.         }
  20.         system("pause");
  21.         return 0;
  22. }
  23. float aver_student(int student[10][5],int n)
  24. {
  25.         int i,sum=0;
  26.         float aver=0;
  27.         for(i=0;i<5;i++)
  28.         {
  29.                 sum=sum+student[n-1];/*这边你怎么只加了一个中括号?应改为 student[n-1][i] */
  30.         }
  31.         aver=sum/5;/*这边你的“sum/5 ”属于两个整型相除,会返回一个整型,比如“123/5 ”,你设想的是返回 24.6 ,但实际上他给你返回 24 .*/
  32.         /*应改为“(float)sum/5 ”或者“sum/5.0 ”*/
  33.         return aver;
  34. }
复制代码

最佳答案

查看完整内容

你这边代码有些问题,我帮你改了 删掉注释应该没事吧? 你的源代码错处给你写注释上了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-12 14:34:45 | 显示全部楼层    本楼为最佳答案   
本帖最后由 额外减小 于 2023-1-12 14:59 编辑

你这边代码有些问题,我帮你改了
删掉注释应该没事吧?
  1. #include<stdio.h>
  2. #include<stdlib.h>

  3. float aver_student(int student[10][5],int n);

  4. int main()
  5. {
  6.         
  7.         int score[10][5]={0};
  8.         int i=1,j=1;
  9.         for(i=1;i<=3;i++)
  10.         {
  11.                 for(j=97;j<=101;j++)
  12.             {
  13.                 printf("请输入%d同学的%c成绩:\n",i,j);
  14.                 scanf("%d",&score[i-1][j-97]);
  15.             }
  16.         }
  17.         for(i=1;i<=3;i++)
  18.         {
  19.                 printf("%d同学的平均分为%.2f\n",i,aver_student(score,i));
  20.         }
  21.         system("pause");
  22.         return 0;
  23. }

  24. float aver_student(int student[10][5],int n)
  25. {
  26.         int i,sum=0;
  27.         float aver=0;
  28.         for(i=0;i<5;i++)
  29.         {
  30.                 sum+=student[n-1][i];
  31.         }
  32.         aver=sum/5;
  33.         return aver;
  34. }
复制代码




你的源代码错处给你写注释上了
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. int main()
  4. {
  5.         float aver_student(int student[10][5],int n);
  6.         int score[10][5]={0};
  7.         int i=1,j=1;
  8.         for(i=1;i<=3;i++)
  9.         {
  10.         for(j=97;j<=101;j++)
  11.                 {
  12.                 printf("请输入%d同学的%c成绩:\n",i,j);
  13.                 scanf("%d",&score[i-1,j-97]);/*这边二维数组元素的访问方法错了。应改为“score[i-1][j-97]  ”*/
  14.                 }
  15.         }
  16.         for(i=1;i<=3;i++)
  17.         {
  18.         printf("%d同学的平均分为%6.2f\n",i,aver_student(score,i));
  19.         }
  20.         system("pause");
  21.         return 0;
  22. }
  23. float aver_student(int student[10][5],int n)
  24. {
  25.         int i,sum=0;
  26.         float aver=0;
  27.         for(i=0;i<5;i++)
  28.         {
  29.                 sum=sum+student[n-1];/*这边你怎么只加了一个中括号?应改为 student[n-1][i] */
  30.         }
  31.         aver=sum/5;/*这边你的“sum/5 ”属于两个整型相除,会返回一个整型,比如“123/5 ”,你设想的是返回 24.6 ,但实际上他给你返回 24 .*/
  32.         /*应改为“(float)sum/5 ”或者“sum/5.0 ”*/
  33.         return aver;
  34. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-12 15:24:46 | 显示全部楼层
额外减小 发表于 2023-1-12 14:34
你这边代码有些问题,我帮你改了
删掉注释应该没事吧?

谢谢谢谢!太强了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-12 15:33:18 | 显示全部楼层
chenhuhu 发表于 2023-1-12 15:24
谢谢谢谢!太强了!

没事
一起进步
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-6 06:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表