本文最后更新于 789 天前,其中的信息可能已经过时,如有错误请发送邮件到 echobydq@gmail.com
进制转换
编写进制转换函数来接受两个参数,且第二个参数在 2~10 范围内,然后以第二个参数中指定的进制打印第一个参数的数值
#include <stdio.h> void to_base_n (int x, int base);//转换进制函数 int main() { int number, b, count; printf("输入数字\n"); while(scanf("%d",&number) == 1) //检测输入是否为数字 { printf("输入 2~10 中的一个数字\n"); while((count = scanf("%d",&b)) == 1 && (b < 2 || b > 10)) //检测输入是否为数字且在范围内 { printf("输入需要在 2~10 范围内: "); } if (count != 1) break; printf("Base %d equivalent: ", b); to_base_n(number, b); putchar('\n'); printf("输入一个数字 (q to quit):\n"); } printf("Done!\n"); return 0; } void to_base_n (int x, int base) { int r; r = x % base; //除以进制数求余 if (x >= base) to_base_n(x / base, base); //递归 putchar('0' + r); return; }