Description
这是一道非常简单的进制转换题目,快来试试吧!
题目:输入的是一些十进制表示的正整数,要你输出这个数的十六进制表示。大于10的数用大写字母表示:
十进制 十六进制
10 -> A
11 -> B
12 -> C
13 -> D
14 -> E
15 -> F
Input
输入的第一行是一个十进制的正整数T,表示下面有T行
每一行包含一个十进制的正整数N。
Output
对于每一个十进制的N,你需要给出它的十六进制表示。
Sample Input
5
10
11
20
26
160
Sample Output
A
B
14
1A
A0
#include <stdio.h>
int main(){
int n,a,b,c,j;
char s[1000];
char h[20]="0123456789ABCDEF";
scanf("%d",&n);
while(n--){
c=0;
scanf("%d",&a);
if (a==0) {
printf("0\n");
}
while (a!=0) {
b=a%16;
s[c]=h[b];
c++;
a=a/16;
}
for (j=c-1; j>=0; j--) {
printf("%c",s[j]);
}
printf("\n");
}
return 0;
}