用c语言实现以下功能。 (1)从键盘输入5个学生的信息,包括学号、姓名、数学成绩、计算机成绩。 (2)计算每个学生的平均分和总分。 (3)按照总分从高到低进行排序。
时间: 2024-05-14 17:19:36 浏览: 50
好的,让我来回答你的问题。要用C语言实现以上功能,可以先定义一个结构体来存储学生信息,包括学号、姓名、数学成绩、计算机成绩、平均分和总分:
```c
struct student {
int id;
char name[50];
float math_score;
float comp_score;
float avg_score;
float total_score;
};
```
然后,在主函数中,定义一个包含5个学生信息的数组,使用循环从键盘输入每个学生的信息,并计算出每个学生的平均分和总分:
```c
int main() {
struct student s[5];
int i;
for(i = 0; i < 5; i++) {
printf("请输入第%d个学生的信息:\n", i+1);
printf("学号:");
scanf("%d", &s[i].id);
printf("姓名:");
scanf("%s", s[i].name);
printf("数学成绩:");
scanf("%f", &s[i].math_score);
printf("计算机成绩:");
scanf("%f", &s[i].comp_score);
s[i].total_score = s[i].math_score + s[i].comp_score;
s[i].avg_score = s[i].total_score / 2;
}
}
```
最后,使用冒泡排序算法按照总分从高到低对学生信息进行排序:
```c
int j;
struct student tmp;
for(i = 0; i < 4; i++) {
for(j = 0; j < 4-i; j++) {
if(s[j].total_score < s[j+1].total_score) {
tmp = s[j];
s[j] = s[j+1];
s[j+1] = tmp;
}
}
}
```
这样就完成了用C语言实现输入学生信息,并按照总分从高到低排序的功能。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)