这里需要特判一下数值为0的情况,我刚开始 就wa在了这里。
代码:
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
char s[100];
int main( )
{
int a;
cin>>a;
int k=0;
if(a==0)
{
cout<<"0"<<endl;
return 0;
}
else
{
while(a)
{
int temp=a%16;
switch(temp)
{
case 0: s[k++]='0'; break;
case 1: s[k++]='1'; break;
case 2: s[k++]='2'; break;
case 3: s[k++]='3'; break;
case 4: s[k++]='4'; break;
case 5: s[k++]='5'; break;
case 6: s[k++]='6'; break;
case 7: s[k++]='7'; break;
case 8: s[k++]='8'; break;
case 9: s[k++]='9'; break;
case 10: s[k++]='A'; break;
case 11: s[k++]='B'; break;
case 12: s[k++]='C'; break;
case 13: s[k++]='D'; break;
case 14: s[k++]='E'; break;
case 15: s[k++]='F'; break;
default:break;
}
a=a/16;
}
}
for(int i=k-1;i>=0;i--)
cout<<s[i];
cout<<endl;
return 0;
}