4 条题解

  • 0
    @ 2023-9-30 20:09:09

    #include<stdio.h> #include<string.h> int main() { char a[1000],b[1000],c[1000]; scanf("%s",a); int lo=strlen(a);// 数组长度 for (int i=0;i<lo;i++) { b[lo-i-1]=a[i]-'0'; } for (int i=0;i<lo;i++) { if(i0) { c[i]=b[i]+2;//假设输入个位为 9 则 c[0]=11 c[i+1]=c[i]/10;//c[1] 进一位 c[i]=c[i]%10;//c[0]应为 11%10=1 } else { c[i]+=b[i];//正常情况下,将 b[] 输入 c[] // 特例 当 i1时且个位进一时 c[1]此时含有进的 1 值,一般情况默认为0 c[i+1]=c[i]/10; c[i]=c[i]%10;//用作后续的进 1 } } if(c[lo]==1) { lo++; } //c[] 此时为倒序的答案,再倒序输出为正确答案 for (int i=0;i<lo;i++) { printf("%d",c[lo-i-1]); } }

    信息

    ID
    788
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    399
    已通过
    87
    上传者