社区讨论

0分,请问哪里错了

P1601高精度加法参与者 4已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@mi6hqbbp
此快照首次捕获于
2025/11/20 05:04
4 个月前
此快照最后确认于
2025/11/20 05:04
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
char a1[1001];
char b1[1001];
int a[1001]={0};
int b[1001]={0};
int c[10001];
int main()
{
    gets(a1);
    gets(b1);
    int n1=0,n2=0;
    for (int i=0;a1[i]!='\0';i++) n1++;
    for (int i=0;b1[i]!='\0';i++) n2++;
    for (int i=0;i<n1;i++) a[i]=a1[n1-i-1]-48;
    for (int i=0;i<n2;i++) b[i]=b1[n2-i-1]-48;
    int k=0,x,n;
    if (n1>n2) n=n1;
    else n=n2;
    for (int i=0;i<n;i++){
        x=a[i]+b[i];
        c[i]=x%10+k;
        if (x>=10) k=1;
        else k=0;
    }
    if (k) cout<<1;
    for (int i=n-1;i>=0;i--){
        cout<<c[i];
    }
}

回复

7 条回复,欢迎继续交流。

正在加载回复...