|
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][i];
}
aver=sum/5;
return aver;
}
运行结果
想问一下大佬到底是哪里出了问题QAQ
本帖最后由 额外减小 于 2023-1-12 14:59 编辑
你这边代码有些问题,我帮你改了
删掉注释应该没事吧?
#include<stdio.h>
#include<stdlib.h>
float aver_student(int student[10][5],int n);
int main()
{
int score[10][5]={0};
int i=1,j=1;
for(i=1;i<=3;i++)
{
for(j=97;j<=101;j++)
{
printf("请输入%d同学的%c成绩:\n",i,j);
scanf("%d",&score[i-1][j-97]);
}
}
for(i=1;i<=3;i++)
{
printf("%d同学的平均分为%.2f\n",i,aver_student(score,i));
}
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++)
{
sum+=student[n-1][i];
}
aver=sum/5;
return aver;
}
你的源代码错处给你写注释上了
#include<stdio.h>
#include<stdlib.h>
int main()
{
float aver_student(int student[10][5],int n);
int score[10][5]={0};
int i=1,j=1;
for(i=1;i<=3;i++)
{
for(j=97;j<=101;j++)
{
printf("请输入%d同学的%c成绩:\n",i,j);
scanf("%d",&score[i-1,j-97]);/*这边二维数组元素的访问方法错了。应改为“score[i-1][j-97] ”*/
}
}
for(i=1;i<=3;i++)
{
printf("%d同学的平均分为%6.2f\n",i,aver_student(score,i));
}
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++)
{
sum=sum+student[n-1];/*这边你怎么只加了一个中括号?应改为 student[n-1][i] */
}
aver=sum/5;/*这边你的“sum/5 ”属于两个整型相除,会返回一个整型,比如“123/5 ”,你设想的是返回 24.6 ,但实际上他给你返回 24 .*/
/*应改为“(float)sum/5 ”或者“sum/5.0 ”*/
return aver;
}
|
最佳答案
查看完整内容
你这边代码有些问题,我帮你改了
删掉注释应该没事吧?
你的源代码错处给你写注释上了
|