11 Ocak 2013 Cuma

數值轉換


題目說明
給予一個十進位整數,請撰寫一程式可以將此十進位整數轉換為指定的進制的整數。
輸入說明
輸入分為兩部份,包括指定的進制數 (2<=x<=16) 與的十進位整數 (0<n<1000000000)
輸出說明
經轉換後的新進位制的整數 ( y )
範例
輸入 :輸出 :
16 12344D2



  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3.   
  4. int main(int argc, char *argv[])  
  5. {  
  6.   int n,i,base, r[10];  
  7.   scanf("%d %d",&base,&n);  
  8.   if(base == 2)  
  9.   {  
  10.        for(i=0;n!=0;i++)  
  11.     {  
  12.         r[i]=n%2;  
  13.         n=n/2;  
  14.     }  
  15.     i--;  
  16.     for(;i>=0;i--)  
  17.     printf("%d",r[i]);  
  18.     printf("\n");  
  19.     }  
  20.   else if(base == 3)  
  21.   {  
  22.        for(i=0;n!=0;i++)  
  23.     {  
  24.         r[i]=n%3;  
  25.         n=n/3;  
  26.     }  
  27.     i--;  
  28.     for(;i>=0;i--)  
  29.     printf("%d",r[i]);  
  30.     printf("\n");  
  31.     }  
  32.   else if (base == 4)  
  33.   {  
  34.        for(i=0;n!=0;i++)  
  35.     {  
  36.         r[i]=n%4;  
  37.         n=n/4;  
  38.     }  
  39.     i--;  
  40.     for(;i>=0;i--)  
  41.     printf("%d",r[i]);  
  42.     printf("\n");  
  43.   
  44.   }  
  45.   else if(base == 5)  
  46.   {  
  47.        for(i=0;n!=0;i++)  
  48.     {  
  49.         r[i]=n%5;  
  50.         n=n/5;  
  51.     }  
  52.     i--;  
  53.     for(;i>=0;i--)  
  54.     printf("%d",r[i]);  
  55.     printf("\n");  
  56.   }  
  57.    else if(base == 6)  
  58.   {  
  59.        for(i=0;n!=0;i++)  
  60.     {  
  61.         r[i]=n%6;  
  62.         n=n/6;  
  63.     }  
  64.     i--;  
  65.     for(;i>=0;i--)  
  66.     printf("%d",r[i]);  
  67.     printf("\n");  
  68.   }  
  69.    else if(base == 7)  
  70.   {  
  71.        for(i=0;n!=0;i++)  
  72.     {  
  73.         r[i]=n%7;  
  74.         n=n/7;  
  75.     }  
  76.     i--;  
  77.     for(;i>=0;i--)  
  78.     printf("%d",r[i]);  
  79.     printf("\n");  
  80.   }  
  81.    else if(base == 8)  
  82.   {  
  83.        for(i=0;n!=0;i++)  
  84.     {  
  85.         r[i]=n%8;  
  86.         n=n/8;  
  87.     }  
  88.     i--;  
  89.     for(;i>=0;i--)  
  90.     printf("%d",r[i]);  
  91.     printf("\n");  
  92.   }  
  93.    else if(base == 9)  
  94.   {  
  95.        for(i=0;n!=0;i++)  
  96.     {  
  97.         r[i]=n%9;  
  98.         n=n/9;  
  99.     }  
  100.     i--;  
  101.     for(;i>=0;i--)  
  102.     printf("%d",r[i]);  
  103.     printf("\n");  
  104.   }  
  105.    else if(base == 10)  
  106.   {  
  107.    printf("%d",n);  
  108.    printf("\n");  
  109.   }  
  110.   else if(base == 11)  
  111.   {  
  112.        for(i=0;n!=0;i++)  
  113.     {  
  114.         r[i]=n%11;  
  115.         n=n/11;  
  116.     }  
  117.     i--;  
  118.     for(;i>=0;i--)  
  119.     {  
  120.         if(r[i]==10)  
  121.             printf("A");  
  122.         else  
  123.             printf("%d",r[i]);  
  124.     }  
  125.         printf("\n");  
  126.   }  
  127.   else if(base == 12)  
  128.   {  
  129.        for(i=0;n!=0;i++)  
  130.     {  
  131.         r[i]=n%12;  
  132.         n=n/12;  
  133.     }  
  134.     i--;  
  135.     for(;i>=0;i--)  
  136.     {  
  137.         if(r[i]==10)  
  138.             printf("A");  
  139.         else if(r[i]==11)  
  140.             printf("B");  
  141.         else  
  142.             printf("%d",r[i]);  
  143.     }  
  144.         printf("\n");  
  145.   }  
  146.   else if (base == 13)  
  147.   {  
  148.        for(i=0;n!=0;i++)  
  149.     {  
  150.         r[i]=n%13;  
  151.         n=n/13;  
  152.     }  
  153.     i--;  
  154.     for(;i>=0;i--)  
  155.     {  
  156.         if(r[i]==10)  
  157.             printf("A");  
  158.         else if(r[i]==11)  
  159.             printf("B");  
  160.         else if(r[i]==12)  
  161.             printf("C");  
  162.         else  
  163.             printf("%d",r[i]);  
  164.     }  
  165.         printf("\n");  
  166.   }  
  167.   else if (base == 14)  
  168.   {  
  169.        for(i=0;n!=0;i++)  
  170.     {  
  171.         r[i]=n%14;  
  172.         n=n/14;  
  173.     }  
  174.     i--;  
  175.     for(;i>=0;i--)  
  176.     {  
  177.         if(r[i]==10)  
  178.             printf("A");  
  179.         else if(r[i]==11)  
  180.             printf("B");  
  181.         else if(r[i]==12)  
  182.             printf("C");  
  183.         else if(r[i]==13)  
  184.             printf("D");  
  185.         else  
  186.             printf("%d",r[i]);  
  187.     }  
  188.         printf("\n");  
  189.   }  
  190.   else if (base == 15)  
  191.   {  
  192.        for(i=0;n!=0;i++)  
  193.     {  
  194.         r[i]=n%15;  
  195.         n=n/15;  
  196.     }  
  197.     i--;  
  198.     for(;i>=0;i--)  
  199.     {  
  200.         if(r[i]==10)  
  201.             printf("A");  
  202.         else if(r[i]==11)  
  203.             printf("B");  
  204.         else if(r[i]==12)  
  205.             printf("C");  
  206.         else if(r[i]==13)  
  207.             printf("D");  
  208.         else if(r[i]==14)  
  209.             printf("E");  
  210.         else  
  211.             printf("%d",r[i]);  
  212.     }  
  213.         printf("\n");  
  214.   }  
  215.   else if (base == 16)  
  216.   {  
  217.        for(i=0;n!=0;i++)  
  218.     {  
  219.         r[i]=n%16;  
  220.         n=n/16;  
  221.     }  
  222.     i--;  
  223.     for(;i>=0;i--)  
  224.     {  
  225.         if(r[i]==10)  
  226.             printf("A");  
  227.         else if(r[i]==11)  
  228.             printf("B");  
  229.         else if(r[i]==12)  
  230.             printf("C");  
  231.         else if(r[i]==13)  
  232.             printf("D");  
  233.         else if(r[i]==14)  
  234.             printf("E");  
  235.         else if(r[i]==15)  
  236.             printf("F");  
  237.         else  
  238.             printf("%d",r[i]);  
  239.     }  
  240.         printf("\n");  
  241.   }  
  242.   system("PAUSE");  
  243.   return 0;  
  244. }  

Hiç yorum yok:

Yorum Gönder

Binary Conversion

Problem Description Convert two binary numbers into two decimal numbers and compute their sum. Your program has to convert two binary number...