C语言问题:有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印 10
问题有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)输...
问题
有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
输入
学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。成绩是正整数
输出
各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩),平均成绩用整数表示,舍弃小数
样例输入
2
1 blue 90 80 70
b clan 80 70 60
样例输出
85 75 65
1 blue 90 80 70
#include<stdio.h>
struct data
{
char number[20];
char name[20];
int score[3];
}stu[10],*p=stu,*max_1;
void main()
{
int n,i,sum[3]={0,0,0};
scanf("%d",&n);
for(i=0;i<n;i++,p++)
{scanf("%s%s%d%d%d",&p->number,&p->name,&p->score[0],&p->score[1],&p->score[2]);
sum[0]+=p->score[0];
sum[1]+=p->score[1];
sum[2]+=p->score[2];}
printf("%d %d %d\n",sum[0]/n,sum[1]/n,sum[2]/n);
p=stu;
max_1=stu;
for(i=1,p++;i<n;i++)
{
if(max_1->score[0]<p->score[0]&&max_1->score[1]<p->score[1]&&max_1->score[2]<p->score[2])
max_1=p;
}
printf("%s %s %d %d %d",max_1->number,max_1->name,max_1->score[0],max_1->score[1],max_1->score[2]);
}
拜托帮忙看一下错在哪里 展开
有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
输入
学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。成绩是正整数
输出
各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩),平均成绩用整数表示,舍弃小数
样例输入
2
1 blue 90 80 70
b clan 80 70 60
样例输出
85 75 65
1 blue 90 80 70
#include<stdio.h>
struct data
{
char number[20];
char name[20];
int score[3];
}stu[10],*p=stu,*max_1;
void main()
{
int n,i,sum[3]={0,0,0};
scanf("%d",&n);
for(i=0;i<n;i++,p++)
{scanf("%s%s%d%d%d",&p->number,&p->name,&p->score[0],&p->score[1],&p->score[2]);
sum[0]+=p->score[0];
sum[1]+=p->score[1];
sum[2]+=p->score[2];}
printf("%d %d %d\n",sum[0]/n,sum[1]/n,sum[2]/n);
p=stu;
max_1=stu;
for(i=1,p++;i<n;i++)
{
if(max_1->score[0]<p->score[0]&&max_1->score[1]<p->score[1]&&max_1->score[2]<p->score[2])
max_1=p;
}
printf("%s %s %d %d %d",max_1->number,max_1->name,max_1->score[0],max_1->score[1],max_1->score[2]);
}
拜托帮忙看一下错在哪里 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询