理工大学ACM平台题关于C语言 2741 小鑫の日常系列故事(十)——排名次

小鑫の日常系列故事(十)——排名次

你们好有更好的方法吗?能写下来吗
Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^

题目描述

小鑫在来到SDUT之后,经过十分刻苦的学习和努力终于进入了ACM集训队。很快又一次ACM集训队的选拔就要开始了,集训队员们又忙碌了起来。他也十分幸运的被学长抓来当苦力。  o(∩_∩)o 
这次学长给他分配的任务是写一个自动排名的程序,我们知道当选拔赛结束的时候,每一个参与选拔的同学都会有一个自己的分数。而集训队需要根据大家的分数排名来决定谁能够进入集训队,这个任务就落在了小鑫身上。
你能帮小鑫来完成这个程序么?

输入

 输入的第一行为n  0 下面还有n行每行为一个人名和ta所得到的分数。保证没有相同的分数。
人名为英文单词,长度不超过10。

输出

 输出为n行,每行一个人名与他的得分。每一行最后没有多余的空格。
具体输出格式见样例。

示例输入

3
Dan 10
John 50
Danny 30

示例输出

John 50
Danny 30
Dan 10

#include

#include

int main()

{

char a[100][100],s[100];

int b[100],i,j,m,t,y,k;

scanf("%d",&i);

getchar();

for(j=0;j

{

scanf("%s ",a[j]);

scanf("%d",&b[j]);

}

    for(k=0;k

{

for(m=0;m

{

if(b[m]

{

t=b[m];

b[m]=b[m+1];

b[m+1]=t;

strcpy(s,a[m]);

strcpy(a[m],a[m+1]);

strcpy(a[m+1],s);

}

}

}

for(k=0;k

{

printf("%s ",a[k]);

printf("%d\n",b[k]);

}

return 0;

}

对于一个字符串数组,要进行一个相应的字符数组元素之间的数据的交换,

不能用简单的数字交换的方式:比如t=a;a=b;b=t;这样是错误的。

这正确的方法是:运用strcpy函数;

你可能感兴趣的:(理工大学ACM平台题关于C语言 2741 小鑫の日常系列故事(十)——排名次)