题目背景 Background
一年两度的期末考要到来了!!
题目描述 Description
又要到考试了,Ljw决定放松一下,就打开电视,看见了篮球赛,他立即想到了每年的NBA总冠军队伍。由于复习紧张,他只记起了一部分,记忆的内容是正确的,可能不是按时间顺序排列的,记忆的内容可能有重复。
现在请求学过编程的你帮助Ljw,按时间顺序输出总冠军的球队(不能重复)。
(NBA从1947A.D到2009A.D)
输入输出格式 Input/output
输入格式:
输入文件nba.in的第一行是一个整数n(0<n<50)。
输入文件nba.in的第一行是一个整数n(0<n<50)。
接下来的n行,每行先是城市名(由大小写字母、空格组成),后是时间(由数字组成),二者之间用空格隔开。
输出格式:
输出文件nba.out共n行,即排序后的NBA总冠军队伍。每先是时间,后是城市名。
输出格式:
输出文件nba.out共n行,即排序后的NBA总冠军队伍。每先是时间,后是城市名。
输入输出样例 Sample input/output
样例测试点#1
输入样例(nba.in):
3
Boston 1963
Boston 1959
Philly 1947
输出样例(nba.out):
1947 Philly
1959 Boston
1963 Boston
思路:每次输入一个字符,判断是否为字母或者数字,分别存入字母或者数字函数,再排序一下输出就得了
代码如下:
1 #include <stdio.h> 2 #include <string.h> 3 struct stu 4 { 5 char num[50]; 6 int score; 7 }; 8 int main() 9 { 10 int n,i,j,max=0,kk,flag,shuzi[100],aaaaa='a',ll=-1; 11 struct stu a[105],t; 12 //freopen("nba.in","r",stdin); 13 //freopen("nba.out","w",stdout); 14 scanf("%d",&n); 15 for(i=0;i<n;i++) 16 { 17 ll++; 18 max=0; 19 j=0; 20 scanf("%c",&aaaaa); 21 while(aaaaa!=' ') 22 { 23 24 if(aaaaa>='0'&&aaaaa<='9')//是数字 25 { 26 shuzi[j]=aaaaa; 27 j++; 28 } 29 else //是字母 30 { 31 a[i].num[max]=aaaaa; 32 max++; 33 } 34 scanf("%c",&aaaaa); 35 } 36 a[i].num[max]='