结构体排序初始化最傻最傻的错误

下面写下这篇博客来祭奠我测试中失去的四五十分钟,这样的错太傻了,太傻了,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊...发火大哭大哭

其实就是在开始的时候赋初值的时候忘记了对迭代因子增加了,少了一个i++,半个晚上的心情都不好了。。。

虽然很傻,但这也提醒了自己以后要细心了

#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;

struct T{
	string xuehao;
	string name;
	double c1,c2,c3,sum;
}stu[1000];


bool compare(T a,T b){
if(a.c1!=b.c1)
   return a.c1>b.c1;
if(a.c2!=b.c2)
   return a.c2>b.c2;
return a.c3>b.c3;
}

int main(){
       int Case,i=0,sum1=0,sum2=0,sum3=0;
	   cin>>Case;
	   int nn=Case;
	   while(Case--){

	   cin>>stu[i].xuehao>>stu[i].name>>stu[i].c1>>stu[i].c2>>stu[i].c3;
           stu[i].sum=stu[i].c1+stu[i].c2+stu[i].c3;
	   sum1=sum1+stu[i].c1;
           sum2=sum2+stu[i].c2;
	   sum3=sum3+stu[i].c3;
	   i++;     罪魁祸首,罪魁祸首
	   }
       cout<<sum1/nn<<' '<<sum2/nn<<' '<<sum3/nn<<endl;
       sort(stu,stu+nn,compare);
       cout<<stu[0].xuehao<<' '<<stu[0].name<<' '<<stu[0].c1<<' '<<stu[0].c2<<' '<<stu[0].c3;

return 0;
}


 

原文地址:https://www.cnblogs.com/zswbky/p/5432045.html