Function fun2(n As Integer) As StringDim s As StringDo Until n = 0s = Format(n Mod 2) + sn = n \ 2Loopfun2 = sEnd FunctionFunction fun8(n As Integer) As StringDim s As StringDo Until n = 0s = Format(n Mod 8) + sn = n \8Loopfun8 = sEnd FunctionFunction fun16(n As Integer) As StringDim s As String,t1 as stringdim t as integerDo Until n = 0t=n mod 16if t>9 then t1=chr(55+t)elset1=format(t)end ifs = t1 + sn = n \ 16Loopfun16 = sEnd Function这个是c++的 你要c的就输入输出转换成scanf,printf就可以了#include void print2(int num) { if(num<2) cout< else { print2(num/2); cout< } } void print8(int num) { if(num<8) cout< else { print8(num/8); cout< } } void print16(int num) { if(num<16) { if(num<=9) cout< else cout<< } else { print16(num/16); cout<< } } void main() { int num; cout<<"请输入一个数字"< scanf("%d",&num); cout<<"二进制输出为:"; print2(num); cout<<" 八进制输出为:"; print8(num); cout<<" 十六进制输出为:"; print16(num); cout< //下面两个是系统的 二进制的要自己写 //cout<<"八进制:"<<<<" "; //cout<<"十六进制:"<<< }