ACM 进制转换
来源:互联网 发布:怎样学好单片机 编辑:程序博客网 时间:2024/05/21 11:43
进制转换
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交:1311 测试通过:371
总提交:1311 测试通过:371
描述
将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10。
输入
多行。第一行指出以下一共有多少组数据,后续每行包含两个整数N和R,以空格分隔,-100000≤N≤100000,2≤R≤16,R≠10。
输出
多行。每行给出转换后的R进制数。
样例输入
3
7 2
23 12
-4 3
样例输出
111
1B
-11
提示
题目来源
GUOJ
分析:很简单的一道题目,不过还是有一些细节问题需要注意。①需要输入多个数:简单的,输入counts建一个循环即可 ②进制转换,也就是核心,其实就三行代码,循环用 商 / r(进制),保存余数,最后输出 ③如果n是0 或者负数,单独考虑 ④输出如果大于10,应该输出A,B...
代码:
#include<stdio.h>//进制转换int main(){int counts;scanf("%d",&counts);for(int i=0;i<counts;i++){int n, r, data[100] = {0};bool flag = true; // 是否负数scanf("%d %d",&n,&r);if(n < 0){n = -n;flag = false;}int num = 0;while(n / r){data[num++] = n % r;n = n / r;}data[num++] = n % r;if(false == flag) // 注意这里写法printf("-");if(n != 0){for(int i=num-1;i>=0;i--){if(data[i] >= 10) // 输出A B ...printf("%c",data[i] - 10 + 'A');else printf("%d",data[i]);}}elseprintf("0");printf("\n");}return 0;}
0 0
- acm--进制转换
- ACM 进制转换
- ACM-进制转换
- ACM 4188. 进制转换
- ACM-进制转换模板
- acm hnu 10038 进制转换
- 杭电ACM 2031 进制转换
- 杭电ACM 2031 进制转换
- [ACM] hdu 2031 进制转换
- 杭电ACM 2031: 进制转换
- HDU ACM 11 2031 进制转换
- 【ACM之旅】进制转换1 (十六进制转换)
- 栈的习题:山东理工ACM 2131 进制转换
- ACM-简单题之进制转换——hdu2031
- 杭电ACM 2031 进制转换 栈实现
- 南邮ACM 1012 进制转换 JAVA解法
- 【ACM之旅】进制转换3 (十六进制转十进制)
- 【ACM之旅】进制转换4 (十六进制转八进制)
- ARM Linux静态映射分析
- eclipse文本编码格式修改为UTF-8 Result.java乱码
- 安全证书不被信任
- Repeater嵌套绑定Repeater
- Truncatable primes
- ACM 进制转换
- Ubuntu下Eclipse C++开发环境搭建方法
- JSP的内置对象概述
- android socket
- zend debugger 的配置与使用
- [14.05.09] CVPR 2014 讨论班总结
- Linux vi命令
- 协同过滤
- MFC SDI 屏蔽主菜单和工具栏以及添加背景标题等操作