2031 进制转换
2014-07-09 11:26
211 查看
进制转换
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 23853 Accepted Submission(s): 13358
Problem Description
输入一个十进制数N,将它转换成R进制数输出。
Input
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
Output
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
Sample Input
7 2 23 12 -4 3
Sample Output
111 1B -11
//思路:将整数每次除以进制所得余数放在数组中,再将数组中的数(大于9的转换为相应的字母)倒序输出出来 #include<iostream> #include<string> using namespace std; void main() { int n,m,i; int num[50]; while(cin>>n>>m) { if(n<0) { n=-n; cout<<'-'; } //若整数是负的,则先按正整数计算,并在结果前加负号 i=0; do { num[i]=n%m; //将余数保存在数组中 n=n/m; i++; }while(n%m!=0||n>=m); //判断是否继续循环 for(i=i-1;i>=0;i--) //倒序输出 { switch(num[i]) //若数小于10则直接输出,若大于等于10则按对应的字母输出 { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:cout<<num[i];break; case 10:cout<<'A';break; case 11:cout<<'B';break; case 12:cout<<'C';break; case 13:cout<<'D';break; case 14:cout<<'E';break; case 15:cout<<'F';break; } } cout<<endl; //结果全部输出后换行 } }
相关文章推荐
- 杭电2031 进制转换
- HDU 2031 进制转换
- C++ 进制转换(HDUOJ 2031)
- HDU-2031-进制转换
- hdu-2031-进制转换
- HDOJ 2031 进制转换
- HUD - 2031 进制转换
- hdoj-2031-进制转换
- 2031 进制转换
- HDU 2031 进制转换
- 进制转换 HDU 2031 注意-2147483648变为正数后用int存会溢出
- 杭电 2031 进制转换
- [热身题][hdoj_2031]进制转换
- 杭电ACM 2031 进制转换
- hdu 2031 进制转换
- HOJ:2031 进制转换
- [hdu 2031] 进制转换
- HDU 2031 -- 进制转换
- 2031 进制转换
- [2031]:进制转换