解题思路:
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 人评分
Hello, world! (C语言代码)浏览:1314 |
买不到的数目 (C++代码)浏览:909 |
字符串对比 (C语言代码)浏览:1469 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:633 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:1292 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:759 |
校门外的树 (C语言代码)浏览:733 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:645 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:624 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:702 |