弟弟的作業

/*

題目描述

你的弟弟剛做完了“100以內數的加減法”這部分的作業,請你幫他檢查一下。每道題目(包括弟弟的答案)的格式爲a+b=c或者a-b=c,其中a和b是作業中給出的,均爲不超過100的非負整數;c是弟弟算出的答案,可能是不超過200的非負整數,也可能是單個字符"?",表示他不會算。

輸入

輸入文件包含不超過100行,以文件結束符結尾。每行包含一道題目,格式保證符合上述規定,且不包含任何空白字符。輸入的所有整數均不含前導0。

輸出

輸出僅一行,包含一個非負整數,即弟弟答對的題目數量。

樣例輸入

1+2=3
3-1=5
6+7=?
99-0=99

樣例輸出

2

Jennifer
2018-2-10 17:16:01
*/
    #include<stdio.h>
    #include<string.h>
    int main()
    {
        int a,b,d,sum;
        char c,s[20];
        sum=0;
        while(scanf("%d%c%d=%s",&a,&c,&b,s)!=EOF)//char型數組scanf時不用加&
        {
            d=0;
            int i;
            int len=strlen(s);    //輸入結果的長度
            if(s[0]!='?')
            {
                for(i=0;i<len;i++)
                {
                    d=d*10+s[i]-'0';    //s[i]-'0'表示整型的數據,即s[i]所對應的數字。如果不只有一位,那麼需要將前幾位移位,即*10
                }
                if(c=='+')        //若輸入爲加號,執行加法操作
                {
                    if(a+b==d)
                    sum++;          //滿足條件 計數加一
                }
                else if(c=='-')    //若輸入爲減號,執行減法操作
                {
                    if(a-b==d)
                    sum++;
                }
            }
        }
        printf("%d\n",sum);
        return 0;
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章