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

试了所有提供的数据,就是wrong,何解呀

Posted by Bournekkk at 2017-02-22 21:09:35 on Problem 1504
//真心不想改了 
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main()
{
	int n;
	int num[3][1000];//存储加数,被加数,和 
	
	string a,b;
	cin>>n;
	while(n--)
	{
		cin>>a>>b;
		memset(num,0,sizeof(num));
	
		int len1=a.length() ;
		int len2=b.length();
		int t=0,p=0,temp1=0,temp2=0;
		for(int i=0;i<len1;i++)
		{
		
			if(a[i]=='0'&&temp1==0)
			  continue;
			if(a[i]=='0')
			{
			   int p3=0;
			   for(int j=i+1;j<len1;j++)
			   {
			   	if(a[j]!='0')
			   	  p3=1;
			   }  
			   if(p3==0)
			   continue;
			}  
		
			num[0][t++]=a[i]-'0';
			temp1=1;
		}
		for(int i=0;i<len2;i++)
		{
			
			if(b[i]=='0'&&temp2==0)
			 continue;
			if(b[i]=='0')
			{
			  int p3=0;
			   for(int j=i+1;j<len1;j++)
			   {
			   	if(b[j]!='0')
			   	p3=1;
			   }  
			   if(p3==0)
			   continue; 
			}  
			num[1][p++]=b[i]-'0';
			temp2=1;
		}
		/*for(int i=0;i<t;i++)
		{
			cout<<num[0][i];
		}
		cout<<endl;
		for(int i=0;i<p;i++)
		{
			cout<<num[1][i];
		}
		cout<<endl;*/
		if(t==0&&p==0)
		  {
		  	cout<<"0"<<endl;
		  	continue;
		  }
	
		for(int i=0;i<(t<p?p:t);i++)
		{
			num[2][i]+=num[0][i]+num[1][i];
			
			if(num[2][i]>9)
			{
				num[2][i]-=10;
				num[2][i+1]++;
			}
		}
		int flag=0;
		for(int i=0;i<(t<p?p+1:t+1);i++)
		{
			
			if(num[2][i]!=0)
			  flag=1;
			if((i==(t<p?p:t))&&num[2][i]==0)
			   flag=0;
			if(flag)
			{
				cout<<num[2][i];
		    }			  
		}
		cout<<endl;
	}
	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