zoj1334

题目大意:

给出三个数,A是7位数字,B和C,从B进制转换到C进制

解题思路:

代码如下:

#include 
#include 
int main(void)
{char A[100];int B, C, num, len, i, base, flag;int ans[7];while (scanf("%s", A) != EOF){scanf("%d%d", &B,&C);num = 0;base = 1;flag = 0;len = strlen(A);for (i = len - 1; i >= 0; i--){if (A[i] >= '0' && A[i] <= '9')num += (A[i] - '0') * base;elsenum += (A[i] - 'A' + 10) * base; base *= B;}for (i = 0; i < 7; i++){ans[i] = 0;}if (A[0] == '0' && len == 1){printf("%-7d\n", 0);continue;}for (i = 0; num != 0; i++){if (i == 7){flag = 1;break;} ans[i] = num % C;num /= C;}if (flag){printf("  ERROR\n");continue;}i = 6;while (ans[i] == 0){printf(" ");i--;}while (i >= 0){if (ans[i] <= 9)printf("%d", ans[i]);else{if (ans[i] == 10)printf("A");else if (ans[i] == 11)printf("B");else if (ans[i] == 12)printf("C");else if (ans[i] == 13)printf("D");else if (ans[i] == 14)printf("E");elseprintf("F");}i--;}printf("\n");}return 0;
} 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部