描述
2013年的小菜鸟们终于到来了,为了你们能在南工里茁壮的成长,学长们夜以继日的给他们教c语言知识,经过一周的学习,这群小菜鸟们终于知道什么是c语言了,为了考验你们学的怎么样了,学长们给你们出了一堆题,这就是其中一个。。。。
题目很简单,就是考验你们的排序水平。
意思是对于给出的一组数,将从小到大他们排序,把这些数换一种形式输出。
输出形式是字母输出,意思就是把一个数对26取余,把他们所对应的大写字母输出,具体看提示。
输入
有多组数据。
每组数据第一个数是N(0<N<=1000),接下来是N个数,每个数的大小不超过1000,每两个数用空格隔开。
输出
对应每组输入数据,输出所要求输出的结果,结果单独占一行。
样例输入
10 0 1 2 3 4 5 6 7 8 9
10 26 27 28 29 30 31 32 33 34 35
5 55 66 12 87 22
样例输出
A B C D E F G H I J
A B C D E F G H I J
M W D O J
提示
整数a对26取余 那么就会和26个英文字母一一对应 0对应A 25对应Z
#include <stdio.h>
#include <strings.h>
int main(void)
{
int n,i,j,k;
int num[1000]={0};
while(~scanf("%d", &n)){
/*输入*/
bzero(num, sizeof(num));
for(i=0; i<n; i++){
scanf("%d", &num[i]);
}
/*从小到大,选择排序*/
for(i=0; i<n; i++){
k=i;
for(j=i+1; j<n; j++){
if(num[k]>num[j]){
k=j;
}
}
if(k != i){
num[k]=num[k]^num[i];
num[i]=num[k]^num[i];
num[k]=num[k]^num[i];
}
}
/*输出*/
for(i=0; i<n; i++){
printf("%c ", num[i]%26+'A');
}
printf("\n");
}
return 0;
}