首页 > 代码库 > c语言学习之结构篇代码演示样例-输入n个同学的姓名,数学英语成绩,依照平均分从低到高排序并输出
c语言学习之结构篇代码演示样例-输入n个同学的姓名,数学英语成绩,依照平均分从低到高排序并输出
#include<stdio.h>
void main(){
const int count = 5;//定义数量
struct student{
char name[80];
float math,eng;
float aver;
scanf("%s%f%f", stu[i].name, &stu[i].math, &stu[i].eng);
}
//将平均值放入进去
for (int i = 0; i < count; i++){
stu[i].aver = (stu[i].math + stu[i].eng )/ 2;
}
/*求平均分最高的同学姓名和平均分
int sub = 0;
for (int i = 1; i < 5; i++)
if (stu[i].aver>stu[sub].aver)sub = i;
printf("%s%f\n", stu[sub].name, stu[sub].aver);*/
/*依照平均分从低到高排序*/
for (int i = 0; i < count - 1; i++)
for (int j = 0; j < count - 1 - i; j++)
if (stu[j].aver>stu[j + 1].aver){
temp = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = temp;
}
//输出
for (int i = 0; i < count; i++){
printf("%s\t%f\t%f\t%f\n", stu[i].name, stu[i].math, stu[i].eng, stu[i].aver);
}
}
void main(){
const int count = 5;//定义数量
struct student{
char name[80];
float math,eng;
float aver;
}stu[count],temp;
//输入
for (int i = 0; i < count; i++){scanf("%s%f%f", stu[i].name, &stu[i].math, &stu[i].eng);
}
//将平均值放入进去
for (int i = 0; i < count; i++){
stu[i].aver = (stu[i].math + stu[i].eng )/ 2;
}
/*求平均分最高的同学姓名和平均分
int sub = 0;
for (int i = 1; i < 5; i++)
if (stu[i].aver>stu[sub].aver)sub = i;
printf("%s%f\n", stu[sub].name, stu[sub].aver);*/
/*依照平均分从低到高排序*/
for (int i = 0; i < count - 1; i++)
for (int j = 0; j < count - 1 - i; j++)
if (stu[j].aver>stu[j + 1].aver){
temp = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = temp;
}
//输出
for (int i = 0; i < count; i++){
printf("%s\t%f\t%f\t%f\n", stu[i].name, stu[i].math, stu[i].eng, stu[i].aver);
}
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。