经验总结:一定要注意输出的格式,字符的空格,空行,一定要观察清楚。如本题的最后一个输出结果后面没有空行。最后代码实现的时候需要判断一下,代码如下
cout<<endl;if(m+1!=n)cout<<endl;
Problem : 1002 ( A + B Problem II ) Judge Status : Accepted
RunId : 10370349 Language : C++ Author : mnmlist
Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta
RunId : 10370349 Language : C++ Author : mnmlist
Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta
#include<iostream>
#include<string.h>
using namespace std;
#define max 1001
void main()
{
char str1[max]={0},str2[max]={0};
int a[max],b[max],c[max];
int n;
cin>>n;
int k,temp,strmax;
for(int m=0;m<n;m++)
{
k=0;
cin>>str1>>str2;
int num1=strlen(str1),num2=strlen(str2);
for(int i=0;i<max;i++)
{
a[i]=0;
b[i]=0;
}
if(num1>num2)
strmax=num1;
else
strmax=num2;
for(int j=0;j<num1;j++)
{
a[num1-j-1]=str1[j]-'0';
}
for(int j=0;j<num2;j++)
{
b[num2-j-1]=str2[j]-'0';
}
for(int j=0;j<strmax;j++)
{
temp=a[j]+b[j]+k;
c[j]=temp%10;
k=temp/10;
}
cout<<"Case "<<m+1<<":"<<endl;
cout<<str1<<" + "<<str2<<" = ";
if(k==1)cout<<1;
for(int i=strmax-1;i>=0;i--)
cout<<c[i];
cout<<endl;
if(m+1!=n)
cout<<endl; } }