第十二周 oj训练 进制转换
来源:互联网 发布:淘宝窗帘拍摄地点 编辑:程序博客网 时间:2024/05/20 23:39
Copyright (c) 2016 烟台大学计算机与控制工程学院All rights reserved.文件名称:test.cpp作者:何定钦完成日期:2016年11月22日题目描述: 输入一个十进制数N,将它转换成R进制数输出。输入: 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。输出: 为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。样例输入:7 223 12-4 3样例输出:1111B-11 分析:#include <stdio.h>#include <stdlib.h>void swap(int N,int R);int main(){ int N,R; while(scanf("%d%d",&N,&R)!=EOF) { if(N==0) printf("%d",N); else swap(N,R); printf("\n"); } return 0;}void swap(int N,int R){ if(N==0) return; else if(N<0) { printf("-"); N=-N; } else N=N; switch(R) { case 2: swap(N/2,2); printf("%d",N%2); break; case 3: swap(N/3,3); printf("%d",N%3); break; case 4: swap(N/4,4); printf("%d",N%4); break; case 5: swap(N/5,5); printf("%d",N%5); break; case 6: swap(N/6,6); printf("%d",N%6); break; case 7: swap(N/7,7); printf("%d",N%7); break; case 8: swap(N/8,8); printf("%d",N%8); break; case 9: swap(N/9,9); printf("%d",N%9); break; case 10: swap(N/10,10); printf("%d",N%10); break; default: swap(N/R,R); if(N%R<10) printf("%d",N%R); else printf("%c",'A'+N%R-10); }}
结果:
知识点总结:
递归的进一步学习,多种十进制转其它进制的方法的学习。
心得体会:
我的该程序较为麻烦,看了老师的代码之后感觉自己的好麻烦。
0 0
- 第十二周 oj训练 进制转换
- oj第十二周训练——进制转换
- 第十二周oj题目进制转换
- 第十二周-OJ-B进制转换
- 第十二周-OJ-C进制转换
- 第十二周 oj训练 汉诺塔
- oj第十二周训练——汉诺塔
- 第十二周 oj训练 逆序输出整数
- 第十二周 oj训练 十进制转二进制
- 第十二周 oj训练 宏定义将角度转换为弧度
- 第十二周 OJ 转化进制
- 第十二周 进制转换
- oj网站的训练题:进制转换
- 第十二周:C语言:进制转换
- 第十二周OJ——十进制转化任意进制
- 第十二周oj题目将度分秒转换为弧度
- oj第十二周训练——输出已交换后的两个值
- 第十二周 oj训练 输出已交换后的两个值
- Python处理JSON
- Lua编程笔录--Lua初识及语法六(协同程序)
- wait_timeout和interactive_timeout区别
- log4j 级别(level)
- 安卓文件路径与有关操作
- 第十二周 oj训练 进制转换
- Hbase中内置Filter详解
- CTF考核writeup(1)
- android studio常用的插件
- insertAfter函数
- Android之MVP架构总结
- C#基础知识简单梳理
- Tomcat SSL配置及Tomcat CA证书安装
- React Native技术剖析(一)