您的位置:首页 > 其它

Problem C of Contest 100000581

2019-08-03 02:32 141 查看

佛了佛了
这么半天找出来的错,
1、原来是结构的数组大小

给小了

我跪了,查了老半天以为是语法错误。。。
以后不要那么小气!大方给空间哦!
2、switch case 1

没有引号!!

~~代码晚安~~

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct student{
char num[10];
char name[10];
int score;
}stu[100001];
bool cmp1(student a,student b){
return strcmp(a.num,b.num)<0;
}
bool cmp2(student a,student b){
if(strcmp(a.name,b.name)!=0)    return strcmp(a.name,b.name)<0;
else    return strcmp(a.num,b.num)<0;
}
bool cmp3(student a,student b){
if(a.score !=b.score)   return a.score<b.score;
else    return strcmp(a.num,b.num)<0;
}

/*bool cmp1(student a, student b) {
return strcmp(a.num,b.num)< 0;
}
bool cmp2(student a, student b) {

if (strcmp(a.name,b.name) !=0) return strcmp(a.name,b.name)<0;

else return strcmp(a.num,b.num)< 0;
}
bool cmp3(student a, student b) {
if (a.score != b. score) return a.score < b.score;
else return strcmp(a.num,b.num)< 0;
}*/
int main(){
int n,c;
int k=1;
while(scanf("%d %d\n",&n,&c),n){

for(int i=0;i<n;i++){
scanf("%s %s %d\n",stu[i].num,stu[i].name,&stu[i].score);
}
printf("Case %d:\n",k++);
switch(c){
case 1:
sort(stu,stu+n,cmp1);
break;

case 2:
sort(stu,stu+n,cmp2);
break;

case 3:
sort(stu,stu+n,cmp3);
break;
}

for(int i=0;i<n;i++){
printf("%s %s %d\n",stu[i].num,stu[i].name,stu[i].score);
}
//k++;
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐