进制转换
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 59689 Accepted Submission(s): 32511
当把一个十进制数转换成其他进制数的时候,应该是对这个数先求余,然后再继续除以这个数,最后再将这个数组倒序输出,注意,数组必须是字符型,最后的数字的符号应该与被除数的符号相一致。
下面附上c代码
#include<stdio.h>
int main() {
int number = 0,version = 0;
char letter[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char array[1000];
while(scanf("%d%d",&number,&version)!=EOF) {
int i = 0,x = 0;
if(number < 0)
x = -1;
else
x = 1;
number = number * x;
for(i = 0; i >= 0; i++) {
array[i] = letter[number % version];
if(number / version == 0) break;
number = number / version;
}
if(x < 0) array[++i] = '-';
for(; i>=0; i--) {
printf("%c",array[i]);
}
printf("\n");
}
}