

无一分可增不叫完美,无一分可减才是。--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源创计划”,欢迎正在阅读的你也加入,一块儿分享。