此程序仅供参考
当我们在学校时,经常要对每个组的平均分进行排序。于是这个程序便诞生了,主要目的就是算平均分并进行排序。(作为一个C++初级程序,程序员们可以进来学习并进行参考一下。优化的地方可以评论)
//此程序还未完工,学号部分未初始化,请谨慎使用
#include
#include
#include
#include
#include
using namespace std;
int rank[100],n,subject[10];
struct group {//每组3个人,一共19个组,a表示每个人的分数,b表示对应人的学号
double a[4],memb,sum,M;//sum为每科平均分之和,M为第M组
int b[4];
group() {sum=a[1]=a[2]=a[3]=0;};
double add() {//算平均分,rank为0表示缺考
memb=3;
a[1]+=rank[b[1]]; if(!rank[b[1]]) memb--;
a[2]+=rank[b[2]]; if(!rank[b[2]]) memb--;
a[3]+=rank[b[3]]; if(!rank[b[3]]) memb--;
sum+=(a[1]+a[2]+a[3])/memb;
};
}p[50];
void print_subject(int n) {
if(n==1) printf("数学");
if(n==2) printf("英语");
if(n==3) printf("语文");
if(n==4) printf("物理");
}
bool cmp(group a,group b) {
return a.sum>b.sum;
}
int main() {
printf("请输入科目数量及科目(按顺序)(1:数学;2:英语;3:语文;4:物理):");
scanf("%d",&n);puts("");
for(int i=1;isubject[i];
for(int i=1,m;i |