杭电1002,这道题运行明明是对的,可是为什么会wrong answer
#include<iostream>usingnamespacestd;chara[1010],b[1010];intmain(){intn;cin>>n;intc[10...
#include<iostream>
using namespace std;
char a[1010],b[1010];
int main()
{
int n;
cin>>n;
int c[1010];
for(int k=0;k<n;k++)
{
int j;
memset(a,'0',sizeof(a));
memset(b,'0',sizeof(b));
memset(c,0,sizeof(c));
cin>>a>>b;
int lenth=max(strlen(a),strlen(b))+1;
int len1=strlen(a);
int len2=strlen(b);
for(int i=0,g=0,len=0;i<lenth;i++)
{
int x=g;
if(i<len1) x+=a[i]-'0';
if(i<len2) x+=b[i]-'0';
c[len++]=x%10;
g=x/10;
}
for(j=1009;j>=0;j--) {if(c[j]) break;}
cout<<"Case "<<k+1<<":"<<endl<<a<<" + "<<b<<" = ";
for(int i=j;i>=0;i--)
cout<<c[i];
if(k!=n-1)
cout<<endl<<endl;
else
cout<<endl;
}
return 0;
} 展开
using namespace std;
char a[1010],b[1010];
int main()
{
int n;
cin>>n;
int c[1010];
for(int k=0;k<n;k++)
{
int j;
memset(a,'0',sizeof(a));
memset(b,'0',sizeof(b));
memset(c,0,sizeof(c));
cin>>a>>b;
int lenth=max(strlen(a),strlen(b))+1;
int len1=strlen(a);
int len2=strlen(b);
for(int i=0,g=0,len=0;i<lenth;i++)
{
int x=g;
if(i<len1) x+=a[i]-'0';
if(i<len2) x+=b[i]-'0';
c[len++]=x%10;
g=x/10;
}
for(j=1009;j>=0;j--) {if(c[j]) break;}
cout<<"Case "<<k+1<<":"<<endl<<a<<" + "<<b<<" = ";
for(int i=j;i>=0;i--)
cout<<c[i];
if(k!=n-1)
cout<<endl<<endl;
else
cout<<endl;
}
return 0;
} 展开
展开全部
acm题都是多组数据需要循环读入,你的程序只能运行一次
更多追问追答
追问
这个是只读一次的
追答
你可以看下我的
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<string>
using namespace std;
int a[2500],b[2500];
string str1,str2;
int len,i;
int main(){
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
int n;
cin>>n;
for(int j=1;j<=n;j++){
if(j!=1) printf("\n");
cin>>str1>>str2;
a[0]=str1.length();
for(i=1;i<=a[0];i++) a[i]=str1[a[0]-i]-'0';
b[0]=str2.length();
for(i=1;i<=b[0];i++) b[i]=str2[b[0]-i]-'0';
len=(a[0]>b[0]?a[0]:b[0]);
for(i=1;i<=len;i++){
a[i]+=b[i];
a[i+1]+=a[i]/10;
a[i]%=10;}
len++;
printf("Case %d:\n",j);
cout<<str1<<" "<<"+"<<" "<<str2<<" "<<"="<<" ";
while((a[len]==0)&&(len>1))len--;
for(i=len;i>=1;i--) cout<<a[i];
cout<<endl;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询