nba总冠军 c语言程序

来源:百度知道 编辑:UC知道 时间:2024/07/04 14:08:57
NBA总冠军

Time Limit:1000MS Memory Limit:65536K
Total Submit:16 Accepted:5

Description

又要考试了,Ljw决定放松一下,就打开电视,看见了篮球赛,他立即想到了每年的NBA总冠军队伍。由于复习紧张,他只记起了一部分,记忆的内容是正确的,可能不是按时间顺序排列的,记忆的内容可能有重复。
现在请求学过编程的你帮助Ljw,按时间顺序依次输出总冠军的球队(不能重复)。
(NBA从1947A.D到2009A.D)

Input

输入第一行是一个整数n(0接下来的n行,每行先是城市名(由大小写字母、空格组成),后是时间(由数字组成)。二者间用空格隔开。

Output

输出共n行,即排序后的NBA总冠军队伍。每行先是时间,后是城市名。

Sample Input

3
Boston 1963
Boston 1959
Philly 1947

Sample Output

1947 Philly
1959 Boston
1963 Boston

#include<stdio.h>
#include<stdlib.h>
struct stu
{
int m;
char string[10];
};
typedef struct stu st;
int main(void)
{
int i,j,n,k;
st *p;
char a[10];
scanf("%d",&n);
p=(st *)malloc(sizeof(st)*n);
for(i=0;i<n;i++)
{
scanf("%s",(p+i)->string);
scanf("%d",&(p+i)->m);
}
for(i=0;i<n-1;i++)
{
for(j=i;j<n;j++)
{
if(((p+i)->m)>((p+j)->m))
{
k=(p+i)->m;
(p+i)->m=(p+j)->m;
(p+j)->m=k;

a[10]=(p+i)->string[10];
(p+i)->string[10]=(p+j)->string[10];
(p+j)->string[10]=a[10];
}
}
}
for(i=0;i<n;i++)