一本通1178题解

上代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include<stdio.h>
#include<string.h>
#include <iostream>

using namespace std;

struct student
{
char name[30];
int score;
};

int main(){
int n,i,j,t;
struct student stu[30];
char a[30];
cin >> n;
for(i=1;i<=n;i++)
cin >> stu[i].name >> stu[i].score;

//for (i=1;i<=n;i++)
// cout << stu[i].name << " " << stu[i].score << endl;

for(i=1;i<=n;i++)
for(j=1;j<=n-1;j++)
if ((stu[j].score<stu[j+1].score)||( (stu[j].score==stu[j+1].score) && strcmp(stu[j].name,stu[j+1].name)==1)){
t=stu[j].score;stu[j].score=stu[j+1].score;stu[j+1].score=t;
strcpy(a,stu[j].name);
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j+1].name,a);
}
for (i=1;i<=n;i++){
cout << stu[i].name << " " << stu[i].score << endl;
}
}

用了结构去解决。。。
第一次使用C语言struct

继续好好研究C语言字符串处理(比pascal烦好多啊~~~~)

-------------本文结束,感谢您的阅读-------------