答案都对 但是都wa

P1957 口算练习题

as13249320351 @ 2021-12-12 21:05:51


#include <stdio.h>
#include <math.h>
struct shuju
{
    char a;
    int b;
    int c;
};
int main()
{
    shuju x[1000];
    int n,i,k=0,q,g=0;
    int sum[100],r=0,t[100];
    int y[100];
    scanf("%d",&n);
    getchar();
    for(i=0;i<n;i++)
    {
        scanf("%c%d%d",&x[i].a,&x[i].b,&x[i].c);
        getchar(); 
    }
    for(i=0;i<n;i++)
    {
        g=0;
        k=0;
        if(x[i].a=='a')
        {
            q=x[i].b;
            while(q!=0)
            {
                k++;
                q/=10;
            }
            q=x[i].c;
            while(q!=0)
            {
                k++;
                q/=10;
            }
            sum[i]=x[i].b+x[i].c;
            q=sum[i];
            while(q!=0)
            {
                k++;
                q/=10;
            }
            y[i]=k+2;
            t[i]=1;
        }
        if(x[i].a=='b')
        {
            q=x[i].b;
            while(q!=0)
            {
                k++;
                q/=10;
            }
            q=x[i].c;
            while(q!=0)
            {
                k++;
                q/=10;
            }
            sum[i]=x[i].b-x[i].c;
            if(sum[i]<0)
            {
                k++;
            }
            q=sum[i];
            while(q!=0)
            {
                k++;
                q/=10;
            }
            y[i]=k+2;
            t[i]=2;
        }
        if(x[i].a=='c')
        {
            q=x[i].b;
            while(q!=0)
            {
                k++;
                q/=10;
            }
            q=x[i].c;
            while(q!=0)
            {
                k++;
                q/=10;
            }
            sum[i]=x[i].b*x[i].c;
            q=sum[i];
            while(q!=0)
            {
                k++;
                q/=10;
            }
            y[i]=k+2;
            t[i]=3;
        }
        if(x[i].a<='9'&&x[i].a>'0')
        {   
            q=x[i].b;
            while(q!=0)
            {
                k++;
                g++;
                q/=10;
            }
            q=x[i].c;
            while(q!=0)
            {
                k++;
                q/=10;
            }
            x[i].b=(x[i].a-'0')*pow(10,g)+x[i].b;
            sum[i]=x[i].b+x[i].c;
            q=sum[i];
            while(q!=0)
            {
                k++;
                q/=10;
            }
            y[i]=k+3;
            t[i]=1;
        }
    }
    for(i=0;i<n;i++)
    {
        if(t[i]==1)
        {
            printf("%d+%d=%d\n%d\n",x[i].b,x[i].c,sum[i],y[i]);
        }
        if(t[i]==2)
        {
            printf("%d-%d=%d\n%d\n",x[i].b,x[i].c,sum[i],y[i]);
        }
        if(t[i]==3)
        {
            printf("%d*%d=%d\n%d\n",x[i].b,x[i].c,sum[i],y[i]);
        }
    }
    return 0;
}

by miaojintao @ 2021-12-12 21:09:12

在洛谷IDE上试试?


|