64,674
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <string.h>
using namespace std;
//将输入的十进制整数转换为16进制存储
void convert(int n)
{
int *str;
str=new int[n]; //要分配内存啊
int i=0,k;
while(n>0)
{
str[i++]=n%16;
n/=16;
}
int j=strlen(str);//这一句出错了 strlen只能用于char*风格字符串
for(k=j-1;k>=0;k--)
{
if(str[k] <=9)
{
cout < <"str[k]" < <'\n';
}
else
{
switch(str[k])
{
case 10:cout < <"A" < <endl;break;
case 11:cout < <"B" < <endl;break;
case 12:cout < <"C" < <endl;break;
case 13:cout < <"D" < <endl;break;
case 14:cout < <"E" < <endl;break;
}
}
}
}
//主函数
int main()
{
int n;
cout < <"请输入一个整数" < <endl;
cin>>n;
convert(n);
cout < <"对应的十六进制整数是" < <endl;
return 0;
}