6 条题解

  • 0
    @ 2025-10-6 15:34:30

    c

    #include<stdio.h>
    #include<string.h>
    int main()
    {
        char a[1010],b[1010],s[1100];
        int t,l1,l2,lm,A,B,i;
        scanf("%d",&t);
        for(i=1;i<=t;i++){
            scanf("%s%s",a,b);
            l1=strlen(a);
            l2=strlen(b);
            if(l1>l2){//确定循环次数
                lm=l1;
            }else{
                lm=l2;
            }
            int sum=0,jin=0;
            int temp[1100]={0};
            for(int k=0;k<lm;k++){
                if(k<l1){
                    A=a[l1-1-k]-'0';
                }else{
                    A=0;
                }if(k<l2){
                    B=b[l2-1-k]-'0';
                }else{
                    B=0;
                }sum=A+B+jin;
                temp[k]=sum%10;//将相加数倒序存入
                jin=sum/10;
            }int x=lm;
            if(jin>0){
                temp[x]=jin;
                x++;
            }for(int j=0;j<x;j++){
                s[j]=temp[x-1-j]+'0';//再倒序存入(即为正序)
                s[x]='\0';//确保字符串正常结束(不然会WA   /(ㄒoㄒ)/~~)
            }printf("Case %d:\n",i);
            printf("%s + %s = %s\n",a,b,s);
        }
        return 0;
    }
    

    信息

    ID
    165
    时间
    3000ms
    内存
    128MiB
    难度
    8
    标签
    (无)
    递交数
    1536
    已通过
    188
    上传者