怎么样做网站爬虫/qq推广平台
提示:本人程序仅供参考,学无止尽,请自行研究
文章目录
- 一、题目
- 二、代码
- 总结
一、题目
要求输入三个学生的班级号、学号和三门课程成绩。(注意:班级号为两位整数)
然后按照班级号从小到大输出;若同一班级的,按照总成绩由高到低输出。
示例:
输入:
11,1001,92.5,82.5,96
12,1004,95.8,85.6,74.9
12,1005,82.5,87.5,93.5
输出:
11,1001,271.0
12,1005,263.5
12,1004,256.3
二、代码
代码如下:
#include<stdio.h>
struct Scoreb{int classnumber;int schoolnumber;float math;float physics;float english;float sum;
}student1,student2,student3;
int main(){struct Scoreb students[3] = {student1,student2,student3};for(int i = 0; i < 3 ;i ++) {scanf("%d,%d,%f,%f,%f",&students[i].classnumber,&students[i].schoolnumber,&students[i].math,&students[i].physics,&students[i].english);students[i].sum = students[i].math+students[i].physics+students[i].english;//总成绩计算 }for(int j = 0 ; j < 3 ; j++)for(int k = 2; k > j;k--){if(students[k].classnumber <students[k-1].classnumber){struct Scoreb temp1 = students[k-1];students[k-1] = students[k];students[k] = temp1;//按照班级号排名 }else if(students[k].classnumber == students[k-1].classnumber){if(students[k].sum>students[k-1].sum){struct Scoreb temp2 = students[k-1];students[k-1] = students[k];students[k] = temp2;}//内嵌一个比较 //按照总成绩排名 }}for(int i = 0; i < 2 ; i++){printf("%d,%d,%.1f\n",students[i].classnumber,students[i].schoolnumber,students[i].sum);}printf("%d,%d,%.1f\n",students[2].classnumber,students[2].schoolnumber,students[2].sum);//输出return 0;
}
总结
①利用冒泡排序来进行排序
②不限于三个数的比较
②注意比较完班级后还要比较成绩