1 #include "stdio.h" 2 #include "Math.h" 3 #define number 50 //设置数组的长度 4 5 int num10; //十进制的数值 6 int num5; //2~9间的值 7 int num[number],top=-1; //顺序栈 8 9 char ch; 10 11 int conversion(){ 12 printf(" 请输入数字(默认为十进制):"); 13 scanf("%d",&num10); printf(" 你需要转化成(2~9)进制数中的哪个,请输入:"); 14 scanf("%d",&num5); 15 16 if(num5>1&&num5<10) { 17 while(num10!=0){ 18 num[++top]=num10%num5; 19 num10/=num5; 20 } 21 22 for(int i=top; i>-1; i--) 23 printf("%d",num[i]); 24 }else 25 printf("你输入转化进制的值,不是2~9"); 26 27 printf(" 你是否想继续使用,请按(y||非y) "); 28 scanf("%s",&ch); 29 30 if(ch=='y'||ch=='Y') 31 conversion(); 32 else 33 return 0; 34 } 35 36 main(){ 37 printf("************************************************ "); 38 printf("* 欢 迎 来 到 风 马 一 族 * "); 39 printf("* 百 度 搜 索 :风马一族 就可以找到我 * "); 40 printf("************************************************ "); 41 printf("* 这是进制转化工具,十进制数转化成(2~9)进制数 * "); 42 printf("************************************************ "); 43 44 conversion(); //调用函数 45 46 /*******这里只给开发者 当测试用**************** 47 //验证结果 48 int sun=0; //验证结果 49 50 for(int i=top; i>-1; i--){ 51 sun+=num[i]*pow(num5,i); 52 printf("%d ",i); 53 } 54 55 if(sum==num10) 56 printf(" 进制反转回去,验证结果=%d ",sun); 57 else 58 printf(" 结果有误"); 59 60 ***********************************************/ 61 }