进制转化算法(C++实现)——创新工场笔试归来
2010-10-22 11:08
363 查看
10月17号晚上参加了创新工场的校园招聘笔试,题目很少,时间是一个小时。很多题目像是智力测验,想我这种反应慢的人实在是不适合参加创新工厂的考试。最后一道题是一道编程题。我之前没写过类似的程序,答得很差。回到宿舍后,我将这道题做了出来与大家分享。想加入创新工场的青年可以参考一下。
题目大致是这样的:编程实现将十进制的整数转化成任意进制的整数,用户输入一个十进制数R和想要转化的进制数X,程序输出转换后的X进制的整数。
例如:
R X 输出
3 2 11
12 8 14
31 16 1f
注意:1<X<17。
下面是我用C++实现的代码,程序在visual C++ 6.0 上运行过了。程序不足之处是没有用户的安全输入检查。
#include <iostream>
#include <vector>
using namespace std;
void numToChar(char &num)
{
/*num是0到9之间的数字*/
if(num<=9&&num>=0)
{
num+=48;
}
else
{
switch(num)
{
case 10:num='A';
case 11:num='B';
case 12:num='C';
case 13:num='D';
case 14:num='E';
case 15:num='F';
}
}
}
/*进制转化函数——x表示进制,r表示十进制数*/
void decimalTransmit(int r,int x)
{
vector<char> result;
char temp;
while(r>0)
{
temp=r%x;
numToChar(temp);
result.push_back(temp);
r=r/x;
}
vector<char>::iterator vc_it=result.end()-1;
for(;vc_it>=result.begin();vc_it--)
{
cout<<*vc_it;
}
cout<<endl;
}
int main()
{
int R,X;
cout<<"请输入一个十进制数和要转化的进制:";
cin>>R>>X;
decimalTransmit(R,X);
return 0;
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/piaojun_pj/archive/2010/10/18/5948358.aspx
题目大致是这样的:编程实现将十进制的整数转化成任意进制的整数,用户输入一个十进制数R和想要转化的进制数X,程序输出转换后的X进制的整数。
例如:
R X 输出
3 2 11
12 8 14
31 16 1f
注意:1<X<17。
下面是我用C++实现的代码,程序在visual C++ 6.0 上运行过了。程序不足之处是没有用户的安全输入检查。
#include <iostream>
#include <vector>
using namespace std;
void numToChar(char &num)
{
/*num是0到9之间的数字*/
if(num<=9&&num>=0)
{
num+=48;
}
else
{
switch(num)
{
case 10:num='A';
case 11:num='B';
case 12:num='C';
case 13:num='D';
case 14:num='E';
case 15:num='F';
}
}
}
/*进制转化函数——x表示进制,r表示十进制数*/
void decimalTransmit(int r,int x)
{
vector<char> result;
char temp;
while(r>0)
{
temp=r%x;
numToChar(temp);
result.push_back(temp);
r=r/x;
}
vector<char>::iterator vc_it=result.end()-1;
for(;vc_it>=result.begin();vc_it--)
{
cout<<*vc_it;
}
cout<<endl;
}
int main()
{
int R,X;
cout<<"请输入一个十进制数和要转化的进制:";
cin>>R>>X;
decimalTransmit(R,X);
return 0;
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/piaojun_pj/archive/2010/10/18/5948358.aspx
相关文章推荐
- 进制转化算法(C++实现)——创新工场笔试归来
- 同余幂的原理和C++实现,附赠一个10进制数转换为任意进制的数组的算法。
- 算法:C++实现电话号码分身
- 笔试算法须知---用JS实现队列处理问题
- 数据结构各种算法实现(C++模板)
- 算法学习-哈夫曼编码(c++实现)
- C++ 自定义日期类实现日期的加减算法
- 经典算法与数据结构的c++实现——冒泡排序
- 算法学习 - 选择排序的稳定性讨论(C++实现)
- 算法导论-第32章-字符串匹配:Knuth-Morris-Pratt(KMP)算法C++实现
- 卡尔曼滤波简介及其算法实现代码(C++/C/MATLAB)
- 卡尔曼滤波简介及其算法实现代码(C++/C/MATLAB)
- KMP模式匹配算法C++实现
- 算法学习-桶排序(Bucket Sort) C++实现
- 数据结构与算法之递推算法 C++与PHP实现
- 数据结构——算法之(043)(c++各种排序算法实现)
- 任意进制转化 c(c++)
- 数据挖掘-决策树ID3分类算法的C++实现
- 算法练习之二叉查找树 C++实现
- 【源代码】C++实现严蔚敏数据结构所有算法(一)线性表-顺序表