结构体练习-1
一个简单的问题,由于读题时不在意导致我交了那么多次,值得反思。。。。
http://acm.nefu.edu.cn/JudgeOnline/problemShow.php?problem_id=1045
1 #include <iostream> 2 #include <cstdlib> 3 #include <cstdio> 4 #include <algorithm> 5 using namespace std; 6 struct sa 7 { 8 int no; 9 char xg[25]; 10 char name[25]; 11 char sex; 12 double chi,eng,mah,sot,ave; 13 }data[1005]; 14 int cmp(const sa &a,const sa &b)//注意此处是const 15 { 16 return a.sot>b.sot; 17 } 18 int sum(int i) 19 { 20 data[i].sot=data[i].chi+data[i].eng+data[i].mah; 21 data[i].ave=data[i].sot/3.0; 22 return 0; 23 } 24 int main() 25 { 26 int n; 27 while(cin>>n) 28 { 29 for(int i=0;i<n;i++) 30 { 31 cin>>data[i].no>>data[i].xg>>data[i].name>>data[i].sex>>data[i].chi>>data[i].eng>>data[i].mah; 32 sum(i); 33 } 34 sort(data,data+n,cmp); 35 for(int i=0;i<n;i++) 36 printf("%d %s %s %c %.2lf %.2lf %.2lf %.2lf %.2lf\n",data[i].no,data[i].xg,data[i].name,data[i].sex,data[i].chi,data[i].eng,data[i].mah,data[i].ave,data[i].sot); 37 } 38 return 0; 39 }