问题描述
- c++题的一道题求两1000位数以内的和
- 不知道为什么AC不了
![CSDN移动问答][1]
[1]: http://acm.hdu.edu.cn/showproblem.php?pid=1002 这是问题要求
这是我的代码 用的是vs2012
#includeusing namespace std;
int main( )
{
int t;
cin>>t;
for (int i=1;i<=t;i++)
{
char a[1001]b[1001]c[1003];
cin>>a>>b;
cout<<""Case ""<<i<<"":""<<endl;int n1=strlen(a)-1; int n2=strlen(b)-1; int car=0k=n1>n2?n1:n2; for (int j=n1>n2?n1:n2;j>=0;n1--n2--j--) { if (n1>=0&&n2>=0) c[j+1]=a[n1]+b[n2]-'0'+car; if (n1>=0&&n2<0) c[j+1]=a[n1]+car; if (n1<0&&n2>=0) c[j+1]=b[n2]+car; if (c[j+1]>'9') { c[j+1]=c[j+1]-10; car=1; } if (j==0) c[j]='0'+car; } c[k+2]=''; if (c[0]=='0') { char* h=c+1; cout<<a<<"" + ""<<b<<"" = ""<<h; } else cout<<a<<"" + ""<<b<<"" = ""<<c; cout<<endl<<endl;}return 0;
}
时间: 2024-09-18 14:03:24