简单字符串排序

来源:互联网 发布:c语言贴吧 编辑:程序博客网 时间:2024/06/05 20:28

Problem Description

从键盘输入10个学生的姓名和成绩,请按字典序排列学生的姓名并输出(姓名和成绩对应关系保持不变)。

Input

输入共11行,前10行每行是一个学生的姓名,最后一行是10个用空格分开的整数表示对应的10个学生成绩。(姓名大小不超过20个字符)

Output

输出姓名按字典序排列后的学生姓名和成绩,共10行,每个学生的姓名和成绩占一行,姓名和成绩间用逗号分开。

Example Input

BushWhiteMarkJeanBlackWoodJennyFrankBillSmith78 85 96 65 46 83 77 88 54 98

Example Output

Bill,54Black,46Bush,78Frank,88Jean,65Jenny,77Mark,96Smith,98White,85Wood,83
#include<stdio.h>#include<string.h>int main(){int a[11],i,j,t2;char name[20][20],t1[10];for(i=0;i<10;i++)scanf("%s",name[i]);getchar();for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++){for(j=0;j<9-i;j++){if(strcmp(name[j],name[j+1])>0){strcpy(t1,name[j]);                  strcpy(name[j],name[j+1]);                  strcpy(name[j+1],t1);                  t2=a[j];                  a[j]=a[j+1];                  a[j+1]=t2;  }}for(i=0;i<10;i++)printf("%s,%d\n",name[i],a[i]);return 0;}
0 0