学校1022: 进制转换问题
2014-03-09 08:36
197 查看
Description
大家都知道,计算机中是以二进制存储的!但是在现实生活中,我们遇到过各种各样的进制情况,我们接触得最多的就是十进制,不过,生活中还存在各种进制计数的情况。例如:一个星期七天是7进制、一年十二个月,是12进制等等。小明最近在学c语言,熟悉了c语言中的各种进制转换问题,所以就尝试着各种进制转换的程序,现在他想写一个程序,把一个无符号数n,转化成在b进制下的表示。例如:n为10,b为2,则转化后为1010。又如:n为10,b为16,则转化后为0XA.
Input
输入的第一行为一个正整数t ( t<=10000 ),表示一共有t组测试数据。每组两个整数,分别为n,b(0 <= n <= 1000000000,2<=b<=16)。n表示要转化的数,b表示b进制。
Output
输出n在b进制下的表示。(注意:如b为16输入时记得加上0X,字母都是以大写的形式
Sample Input
4
10 2
10 16
100 7
1000000000 16
Sample Output
1010
0XA
202
0X3B9ACA00
大家都知道,计算机中是以二进制存储的!但是在现实生活中,我们遇到过各种各样的进制情况,我们接触得最多的就是十进制,不过,生活中还存在各种进制计数的情况。例如:一个星期七天是7进制、一年十二个月,是12进制等等。小明最近在学c语言,熟悉了c语言中的各种进制转换问题,所以就尝试着各种进制转换的程序,现在他想写一个程序,把一个无符号数n,转化成在b进制下的表示。例如:n为10,b为2,则转化后为1010。又如:n为10,b为16,则转化后为0XA.
Input
输入的第一行为一个正整数t ( t<=10000 ),表示一共有t组测试数据。每组两个整数,分别为n,b(0 <= n <= 1000000000,2<=b<=16)。n表示要转化的数,b表示b进制。
Output
输出n在b进制下的表示。(注意:如b为16输入时记得加上0X,字母都是以大写的形式
Sample Input
4
10 2
10 16
100 7
1000000000 16
Sample Output
1010
0XA
202
0X3B9ACA00
#include <stdio.h> #include <stdlib.h> #define N 10000 #define K 25 int tran(int num ,int B,int n) { char ch[K]="0123456789ABCDEFGHIJK"; int i=0,j,temp; do { num[i]=n%B; i++; } while((n/=B)!=0); /* for(j=0; j<i/2; j++) { temp=num[j]; num[j]=num[i-1-j]; num[i-1-j]=temp; }*/ //或者直接输出 if(B==16) printf("0X"); for(j=i-1;j>=0;j--) printf("%c",ch[num[j]]); printf("\n"); return i; } int main() { int B,num ,i,j,len,t; long n; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&B); len=tran(num,B,n); //for(i=0; i<len; i++) // printf("%d",num[i]); } return 0; }
相关文章推荐
- 1022: 进制转换问题
- 进制转换问题---例如把26进制转为10进制
- 进制转换问题求解
- 学校1006: Joseph的大M问题
- 2006.6.2 13:30 在学校人文学院306进行小组讨论,关对一家公司的CRM进行讨论,发现两点问题
- 进制转换问题
- 进制转换中pow()函数的问题
- 关于放假是否可以提前回家或晚回学校问题
- 【学校OJ】二分图匹配 骑士共存问题
- 进制转换问题
- 进制转换问题
- 问题一百四十一:进制转换
- tyvj1022 - 进制转换 ——进制为负数
- 进制转换问题
- 答读者问(9):有关怎样看待学校的好坏及怎样应对毕业之前的迷茫等问题
- 进制转换问题
- 1022编译原理第二次作业问题感想
- hdoj 2051 Bitset(数的进制转换问题)
- TYVJ 1022 进制转换
- HDU 4432 因子之和以及进制转换问题