| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
2798二进制转16进制为什么通不过。#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int n,i,len,k=0,head,j=0;
char str[10004],outStr[5000];
void change(char * str,int k);
int main()
{
cin>>n;
cin.get();
while(n--)
{
i=1003;
while(i)
{
str[i]='0';
i--;
}
str[0]='0';
cin>>str;
len=strlen(str);
reverse(str,str+len);
str[len]='0';
for(k=0;k<len;k+=4)
{
change(str,k);
}
for(k=j-1;k>=0;k--)
cout<<outStr[k];
cout<<endl;
j=0;
}
return 0;
}
void change(char * str,int k)
{
int temp;
temp=1*(str[k]-'0')+2*(str[k+1]-'0')+4*(str[k+2]-'0')+8*(str[k+3]-'0');
if(temp<10)
{
outStr[j]=temp+'0';
}
else
{
switch(temp)
{
case 10:
outStr[j]='A';
break;
case 11:
outStr[j]='B';
break;
case 12:
outStr[j]='C';
break;
case 13:
outStr[j]='D';
break;
case 14:
outStr[j]='E';
break;
case 15:
outStr[j]='F';
break;
}
}
j++;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator