十转十六【C++版】
@输入一个数和它的进制数,输出该数进制后的数。
- 编码设备:Dev;
- 编码目的:通过进行编码来实现十六进制及二进制、八进制的转换;
- 分析:数据定义,键盘输入,运算体,键盘输出;
- 核心部件:见详解;
-优势:代码清晰,易懂; - 劣势:未达到一定程度上的优化;
- 欢迎各位小可爱进行问题与看法的沟通与交流!
具体代码如下:
#include<stdio.h>
main()
{
char num[] = "0123456789ABCDEF",result[30] = {0},temp;
int m,base,len = 0,start = 0,end = len;
printf("\tPlease input a number and a base :");
scanf("%d %d",&m,&base);
while(m)
{
result[len++] = num[m % base];
m = m/base;
}
start = 0;
end = len-1;
if(start < end)
{
temp = result[start];
result[start] = result [end];
result[end] = temp;
start++;
end--;
}
start = 0;
for(start = 0;start < len;start++)
printf("%c",result[start]);
printf("\n");
return 0;
}
运行结果如下: