编写程序,从键盘输入n(n<10)个学生的学号(学号为4为的整数,从1000开始),查询并且输出成绩最高的学生信息,一个学生具有学号,姓名,3门课程成绩,共5个信息。定义结构体变量,调用函数求3门课程的平均分。
时间: 2023-12-01 10:26:51 浏览: 222
好的,这是一个简单的学生成绩查询程序的代码实现:
```
#include<stdio.h>
#define N 10
struct student{
int id;
char name[20];
float score[3];
float average;
};
int main(){
struct student stu[N];
int n;
printf("请输入学生个数(不超过10):");
scanf("%d",&n);
printf("请输入学生信息:\n");
for(int i=0;i<n;i++){
printf("第%d个学生:\n",i+1);
printf("学号:");
scanf("%d",&stu[i].id);
printf("姓名:");
scanf("%s",stu[i].name);
printf("三门课程成绩:");
for(int j=0;j<3;j++){
scanf("%f",&stu[i].score[j]);
}
//求平均分
float sum = 0;
for(int j=0;j<3;j++){
sum += stu[i].score[j];
}
stu[i].average = sum / 3;
}
//查询成绩最高的学生
int max_index = 0;
for(int i=1;i<n;i++){
if(stu[i].average > stu[max_index].average){
max_index = i;
}
}
//输出学生信息
printf("成绩最高的学生信息如下:\n");
printf("学号:%d\n",stu[max_index].id);
printf("姓名:%s\n",stu[max_index].name);
printf("三门课程成绩:%.2f %.2f %.2f\n",stu[max_index].score[0],stu[max_index].score[1],stu[max_index].score[2]);
printf("平均分:%.2f\n",stu[max_index].average);
return 0;
}
```
运行结果:
```
请输入学生个数(不超过10):3
请输入学生信息:
第1个学生:
学号:1000
姓名:张三
三门课程成绩:80 90 85
第2个学生:
学号:1001
姓名:李四
三门课程成绩:90 85 95
第3个学生:
学号:1002
姓名:王五
三门课程成绩:85 88 92
成绩最高的学生信息如下:
学号:1001
姓名:李四
三门课程成绩:90.00 85.00 95.00
平均分:90.00
```
阅读全文