关于用递归将10进制数转换成R(2-16)进制数的一种简单算法:int print(int x,int y){ if(x>=y) { print(x/y,y); } switch(x%y) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:printf("%d",x%y);break; case 10:printf("A");break; case 11:printf("B");break; case 12:printf("C");break; case 13:printf("D");break; case 14:printf("E");break; case 15:printf("F");break; default :break; }}#include<stdio.h>int main(){ int N=0; int R=0; scanf("%d%d",&N,&R); print(N,R); return 0;}