首页 > 代码库 > 算法竞赛入门经典 习题 3-5 3-6 进制转换
算法竞赛入门经典 习题 3-5 3-6 进制转换
习题3-6
输入基数b(2<=b<=10)和正整数n(十进制),输出n的b进制表示。
#include <stdio.h> #include <stdlib.h> #define MAXN 100 int a[MAXN]; int main(int argc, char *argv[]) { int b, n, i = 0, j; scanf("%d %d", &b, &n); while(n/b != 0 || n%b != 0) { a[i++] = n%b; n = n/b; } for(j = i-1; j >= 0; j--) printf("%d", a[j]); printf("\n"); system("PAUSE"); return 0; }
总结:可以用n>0作为判断条件
习题3-7
输入基数b(2<=b<=10)和正整数n(b进制),输出n的十进制表示。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #define MAXN 100 char a[MAXN]; int main(int argc, char *argv[]) { int b, length, i, j; int n = 0; scanf("%d", &b); scanf("%s", a); length = strlen(a); for(i = length-1, j = 0; i >= 0; i--, j++) { n = n + (a[i] - '0')*pow(b,j); } printf("%d\n", n); system("PAUSE"); return 0; }
算法竞赛入门经典 习题 3-5 3-6 进制转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。