c语言;下面是杭电acm1002的代码 有一处不明白
发布网友
发布时间:2022-04-22 09:31
我来回答
共3个回答
热心网友
时间:2023-10-06 03:29
AC的代码,仅供参考。。。
#include<iostream>
#include<cstdio>
using namespace std;
char a[1001],b[1001],
int c[1001],d[1001];
int sum[1005];
int main()
{
int i,j,k,n=0,la,lb,T,len;
while(cin>>T)
{
for(i=1;i<=T;i++)
{
scanf("%s%s",&a,&b);
la=strlen(a);
lb=strlen(b);
for(j=0;j<1001;j++)
{
c[j]=0;
d[j]=0;
}
for(j=0;j<1005;j++)
{
sum[j]=0;
}
for(j=la-1;j>=0;j--)
{
c[la-j]=(int)(a[j])-48;
}
for(j=lb-1;j>=0;j--)
{
d[lb-j]=(int)(b[j])-48;
}
len=(la>lb?la:lb);
for(j=1;j<len+3;j++)
{
sum[j]+=c[j]+d[j];
if(sum[j]>=10)
{
sum[j]-=10;
sum[j+1]++;
}
}
if(sum[j]>0)
{
len++;
}
cout<<"Case "<<i<<":"<<endl;
printf("%s ",a);
printf("+ ");
printf("%s ",b);
printf("= ");
for(k=len;k>=1;k--)
{
printf("%d",sum[k]);
}
if(i<T)
printf("\n\n");
else
printf("\n");
}
}
return 0;
}
热心网友
时间:2023-10-06 03:29
第一、为什么要system("pause");呢?
第二、这题目是高精度加法哦。
热心网友
时间:2023-10-06 03:30
直接模拟平时在纸上做加法