杭电2031 进制转换

来源:互联网 发布:如何建立二维码数据库 编辑:程序博客网 时间:2024/06/06 12:31
Problem Description
输入一个十进制数N,将它转换成R进制数输出。

Input
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。

Output
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。

Sample Input
7 223 12-4 3

Sample Output
1111B-11

#include<iostream>#include<cstdio>using namespace std;int main(){int r,b;char a[100];long n;while(cin>>n>>r){int i=0;if(n<0){//printf("-");cout<<"-";n=-n;}while(n){b=n%r;if(b>=10)a[i]=b-10+'A';elsea[i]=b+'0';n=n/r;++i;}for(int j=i-1;j>=0;--j)//printf("%c",a[j]);cout<<a[j];   //习惯些a[i],弄得我调试了好久 //printf("\n");cout<<endl;}return 0;}

0 0
原创粉丝点击