PTA 天梯赛 L1-025 正整数A+B

怎么说呢,这个题难倒也是不难,就是一些小细节需要把握,要不然想要拿到15分也是非常不容易的啊。

#include
#include
int main()
{
    char s1[100],s2[100],flaga = 0,flagb = 0;
    int a = 0,b = 0;
    scanf("%s ",s1);
    //scanf("%s",s2);
    gets(s2);
    int lena = strlen(s1);
    int lenb = strlen(s2);
    for(int i = 0;i < lena; i++)
    {
        if(s1[i] <= '9' && s1[i] >= '0')
        {
            int x = s1[i] - '0';
            a = a * 10 + x;
        }
        else
        {
            flaga = 1;
            break;
        }
    }
    for(int i = 0;i < lenb; i++)
    {
        if(s2[i] <= '9' && s2[i] >= '0')
        {
            int x = s2[i] - '0';
            b = b * 10 + x;
        }
        else
        {
            flagb = 1;
            break;
        }
    }
    if(a > 1000 || a < 1)//最后两个测试点就卡的这里
        flaga = 1;
    if(b > 1000 || b < 1)
        flagb = 1;
    if(!flaga && !flagb)
        printf("%d + %d = %d",a,b,a+b);
    else if(!flaga && flagb)
        printf("%d + ? = ?",a);
    else if(flaga && !flagb)
        printf("? + %d = ?",b);
    else if(flaga && flagb)
        printf("? + ? = ?");
    return 0;
}

 

你可能感兴趣的:(PTA练习)