Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

Re:2798二进制转16进制为什么通不过。

Posted by swust20115290 at 2012-01-16 16:49:24
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:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator