| ||||||||||
| 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 | |||||||||
Re:2798二进制转16进制为什么通不过。In Reply To:2798二进制转16进制为什么通不过。 Posted by:zhoujunperking at 2008-09-13 10:33:56 > #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