無一分可增不叫完美,無一分可減纔是。--Antoine de Saint-Exuperyweb
弟弟的做業微信
你的弟弟剛作完了「100之內數的加減法」這部分的做業,請你幫他檢查一下。每道題目(包括弟弟的答案)的格式爲a+b=c或者a-b=c,其中a和b是做業中給出的,均爲不超過100的非負整數;c是弟弟算出的答案,多是不超過200的非負整數,也多是單個字符"?",表示他不會算。編輯器
輸入flex
輸入文件包含不超過100行,以文件結束符結尾。每行包含一道題目,格式保證符合上述規定,且不包含任何空白字符。輸入的全部整數均不含前導0。url
輸出spa
輸出僅一行,包含一個非負整數,即弟弟答對的題目數量。.net
樣例輸入3d
1+2=3code
3-1=5orm
6+7=?
99-0=99
樣例輸出
2
1#include<stdio.h>
2#include<string.h> //包含strlen()
3int main()
4{
5 int a,b,d,sum=0,i,len;
6 //其中a爲第一個數,b爲第二個數
7 //d爲a與b運算正確的數,len爲最後弟弟輸入的數的長度
8 char c,s[10];
9 //其中c爲預算符,s爲弟弟輸入的結果
10 while(scanf("%d%c%d=%s",&a,&c,&b,s)!=EOF)
11 //回車也不會結束,但ctrl+z能夠讓scanf()返回EOF
12 //運行時到結束的時候按ctrl+z便可
13 {
14 d=0; //初始化d很關鍵
15 len=strlen(s);
16//strlen()得弟弟輸入的結果的長度,用到後面將字符轉化爲數裏面
17 if(s[0]!='?') //若是是問號就直接跳過了
18 {
19 for(i=0;i<len;i++)
20 {
21 d=d*10+s[i]-'0';
22 }
23 if(c=='+')
24 {
25 if(a+b==d)
26 sum++;
27 }
28 else if(c=='-')
29 {
30 if(a-b==d)
31 sum++;
32 }
33 }
34 }
35 printf("%d\n",sum);
36 return 0;
37}
「If you torture the data enough, it will confess」
- - Ronald Coase
本文分享自微信公衆號 - 電子榮耀(gh_05453579ed9d)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。