问题描述:统计五个学生四门课程的考试成绩,要求输出每个学生的总成绩,每个学生的平均成绩,每门课程的平均分,最高分,最低分
#include<stdio.h>
int main()
{
int id[5],course[5][4],total[5],ave[5],ave1[4],max[4],min[4];
int i,j,sum=0;
for(i=0;i<5;i++)
{
printf("请输入学生%d的学号:",i+1);
scanf("%d",&id[i]);
printf("请输入学生%d的四门课程的成绩:",i+1);
for(j=0;j<4;j++)
{
scanf("%d",&course[i][j]);
total[i]=total[i]+course[i][j];
}
ave[i]=total[i]/4;
}
for(i=0;i<4;i++)
{
for(j=0;j<5;j++)
{
sum+=course[j][i];
ave1[i]=sum/5;
}
sum=0;
}
for(j=0;j<4;j++)
{
max[0]=course[0][j];
min[0]=course[0][j];
}
for(i=0;i<4;i++)
{
for(j=1;j<5;j++)
{
if(max[i]<course[j][i])
max[i]=course[j][i];
if(min[i]>course[j][i])
min[i]=course[j][i];
}
}
//打印输出
printf("学号\t课程1\t课程2\t课程3\t课程4\t总分\t平均分\n");
for(i=0;i<5;i++)
{
printf("%d\t",id[i]);
for(j=0;j<4;j++)
printf("%d\t",course[i][j]);
printf("%d\t",total[i]);
printf("%d\t",ave[i]);
printf("\n");
}
printf("平均分\t");
for(i=0;i<4;i++)
printf("%d\t",ave1[i]);
printf("\n");
printf("最高分\t");
for(i=0;i<4;i++)
printf("%d\t",max[i]);
printf("\n");
printf("最低分\t");
for(i=0;i<4;i++)
printf("%d\t",min[i]);
printf("\n");
return 0;
}
应该怎么修改呀
total[i]=total[i]+course[i][j];
total数组没有初始化为0 啊
定义数组时,默认初始化为0啊
int id[5]={0},course[5][4]={0},total[5]={0},ave[5]={0},ave1[4]={0},max[4]={0},min[4]={0};
#include<stdio.h>
float max,min;//全局变量
float score(float sc[30])
{
int i;
float sum=0,av;
for(i=0;i<20;i++)//平均分
sum=sum+sc[i];
av=sum/20.0;
max=sc[0];//最高分
for(i=1;i<30;i++)
if(sc[i]>av)
max=sc[i];
min=sc[0];//最低分
for(i=1;i<20;i++)
if(sc[i]<min)
min=sc[i];
return av;
}
void main()
{
float sc[30],av;
printf(“Input 30 student’s score:\n”);
int i;
for(i=0;i<30;i++)//输入30名学生的成绩
scanf("%f",&sc[i]);
av=score(sc);//调用函数
printf(“aver=%f\nmax=%f\nmin=%f”,av,max,min);//输出结果
}