【风马一族_C】进制转化

 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("\n请输入数字(默认为十进制):");
13         scanf("%d",&num10); printf("\n你需要转化成(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("\n你是否想继续使用,请按(y||非y)\n");
28          scanf("%s",&ch);
29 
30          if(ch=='y'||ch=='Y') 
31                     conversion();
32           else 
33                     return 0;
34 } 
35 
36 main(){
37         printf("************************************************\n");
38         printf("* 欢 迎 来 到 风 马 一 族 *\n");
39         printf("* 百 度 搜 索 :风马一族 就可以找到我 *\n"); 
40         printf("************************************************\n");
41         printf("* 这是进制转化工具,十进制数转化成(2~9)进制数 *\n");
42         printf("************************************************\n");
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\t",i);
53         }
54 
55         if(sum==num10) 
56                 printf("\n进制反转回去,验证结果=%d\n",sun);
57         else
58                 printf("\n结果有误");
59 
60         ***********************************************/
61 }

 

posted @ 2015-12-04 10:51  风马一族  阅读(183)  评论(0编辑  收藏  举报