下面写下这篇博客来祭奠我测试中失去的四五十分钟,这样的错太傻了,太傻了,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊...
其实就是在开始的时候赋初值的时候忘记了对迭代因子增加了,少了一个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; }