解题思路:
1.写一个input函数,利用结构体指针*p依次赋值,循环由定义的结构体数组stu1和输入的n控制;
2.将定义的结构体数组stu1存储步骤1中相应的结构体字段值;
3.利用一个if语句去求出三科最大的学生,并记录其下标;
注意事项:
1.再给id和name赋值时,因为在结构中定义的是数组类型,因此赋值时不需要加&符号;
2.注意输出的格式(空格和换行符)。
参考代码:
#include<stdio.h>
typedef struct student
{
char id[50];
char name[50];
int chia;
int math;
int eng;
}stu;
void input(stu *p)
{
scanf("%s%s%d%d%d",p->id,p->name,&p->chia,&p->math,&p->eng);
}
int main()
{
void input(stu *p);
stu stu1[100],*p;
int n,i,j,sum1=0,sum2=0,sum3=0,max=0;
scanf("%d",&n);
for(p=stu1;p<stu1+n;p++)
{
input(p);
}
for(i=0;i<n;i++)
{
sum1+=stu1[i].chia;
sum2+=stu1[i].math;
sum3+=stu1[i].eng;
if(stu1[i].chia+stu1[i].math+stu1[i].eng>max)
{
max=stu1[i].chia+stu1[i].math+stu1[i].eng;
j=i;
}
}
printf("%d %d %d\n",sum1/n,sum2/n,sum3/n);
printf("%s %s %d %d %d",stu1[j].id,stu1[j].name,stu1[j].chia,stu1[j].math,stu1[j].eng);
return 0;
}
0.0分
2 人评分
1013题解浏览:552 |
1025题解浏览:732 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:581 |
DNA (C语言代码)浏览:745 |
1048题解(读入回车问题)浏览:554 |
字符串的输入输出处理 (C语言代码)浏览:984 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:946 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:740 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:759 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:449 |