我的成长

在这里,希望可以与大家一起探讨编程哦。虽然我还是属于菜鸟级别的。

15进制转换

题目编号 15
时间限制 1000 毫秒
内存限制 32768 K字节

问题描述

对于输入的十进制数,按要求转换成不同进制的数 

输入

输入一个十进制表示的整数x(0<=x<=2000000000)和转换的进制n(2<=n<=16)。中间用空格隔开。

输出

输出对应进制表示的数,10到16的数字用大写英文A~F表示

输入样例

127 13

输出样例

9A
#include <cstdlib>
#include 
<iostream>
#define SIZE 20
using namespace std;
void change(int num1,int num2){
     
char array[SIZE];
     
int j = 0;
     
if(num1 == 0)
             cout 
<< num1 << endl;
     
else{
          
while(num1){
                      
int temp;
                      temp 
= num1 %num2;
                      
if(temp >= 10 && temp <= 16){
                              
char ch = 'A';
                              
for(int i = 0;i < temp - 10;i++)
                                      ch
++;
                      array[j
++= ch;              
                              }
                      
else
                          array[j
++= temp + 48;
                      num1 
/= num2;
                     
                      }
          }
          
for(int k = j - 1;k >= 0;k--)
                  cout 
<< array[k];
     }
int main(void){
    
int num1,num2;
    cin 
>> num1 >> num2;
    change(num1,num2);
    
    
    
return EXIT_SUCCESS;
}

posted on 2006-10-28 01:27 林慧 阅读(188) 评论(0)  编辑 收藏 引用 所属分类: C++

只有注册用户登录后才能发表评论。