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

wa得郁闷了,求那位大虾帮忙看看到底是怎么回师啊....求求各位大虾了

Posted by 2004huangyimin at 2006-04-23 21:50:17 on Problem 1504
#include <iostream>
using namespace std;
char Add1[935];
char Add2[935];
int main()
{
	int n;
	int num;
	char ch;
	int i;
	cin >> n;
	while ( n > 0 )
	{
		while (1)
		{
			cin >> ch;
			if (ch!='0'){break;}
		}
		num = 0;
		while (1)
		{
			Add1[num++] = ch;
			cin >>noskipws>> ch;
			if ( ch == ' ' ){ break; }
		}
		Add1[num] = '\0';
		while (1)
		{
			cin >> ch;
			if (ch!='0'){break;}
		}
		num = 0;
		while ( cin.eof()==0 )
		{
			Add2[num++] = ch;
			cin >>noskipws>> ch;
			if ( ch == '\n' ){ break; }
		}
		Add2[num] = '\0';
		if (strlen(Add1)<=strlen(Add2))
		{
			for ( i = 0;Add1[i] != '\0';i++ )
			{Add2[i] = (Add1[i] - '0') + (Add2[i]-'0')+'0';}
			for ( i = 0;Add1[i] != '\0';i++ )
			{
				if ((Add2[i]-'0') >= 10&&Add2[i+1] != '\0')
				{ 
					Add2[i+1] = (Add2[i]-'0') / 10 + (Add2[i+1]-'0') + '0';
					Add2[i] =  (Add2[i]-'0')%10 + '0';
				}
				if ((Add2[i]-'0') >= 10&&Add2[i+1] == '\0')
				{
					Add2[i+1] = '0';
					Add2[i+1] = (Add2[i]-'0') / 10 + (Add2[i+1]-'0') + '0';
					Add2[i] =  (Add2[i]-'0')%10 + '0';
					Add2[i+2] = '\0';
				}
			}
			int temp = strlen(Add2);
			bool flag(false);
			for ( i = 0;Add2[i] != '\0';i++ )
			{
				if ( Add2[i] != '0'&&!flag )
				{flag = true;}
				if ( flag )
				{ cout << Add2[i]; }
			}
		}
		if (strlen(Add1)>strlen(Add2))
		{
			for ( i = 0;Add2[i] != '\0';i++ )
			{Add1[i] = (Add2[i] - '0') + (Add1[i]-'0')+'0';}
			for ( i = 0;Add2[i] != '\0';i++ )
			{
				if ((Add1[i]-'0') >= 10&&Add1[i+1] != '\0')
				{ 
					Add1[i+1] = (Add1[i]-'0') / 10 + (Add1[i+1]-'0') + '0';
					Add1[i] =  (Add1[i]-'0')%10 + '0';
				}
				if ((Add1[i]-'0') >= 10&&Add1[i+1] == '\0')
				{
					Add1[i+1] = '0';
					Add1[i+1] = (Add1[i]-'0') / 10 + (Add1[i+1]-'0') + '0';
					Add1[i] =  (Add1[i]-'0')%10 + '0';
					Add1[i+2] = '\0';
				}
			}
			int temp = strlen(Add1);
			bool flag(false);
			for ( i = 0;Add1[i] != '\0';i++ )
			{
				if ( Add1[i] != '0'&&!flag )
				{flag = true;}
				if ( flag )
				{ cout << Add1[i]; }
			}
		}
		cout << endl;
		n--;
	}
	return 0;
}


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