前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >弟弟的作业(OI赛题)

弟弟的作业(OI赛题)

作者头像
pigeon
发布2022-04-11 19:37:31
3510
发布2022-04-11 19:37:31
举报
文章被收录于专栏:电子荣耀

弟弟的作业

1.题目描述

你的弟弟刚做完了“100以内数的加减法”这部分的作业,请你帮他检查一下。每道题目(包括弟弟的答案)的格式为a+b=c或者a-b=c,其中a和b是作业中给出的,均为不超过100的非负整数;c是弟弟算出的答案,可能是不超过200的非负整数,也可能是单个字符"?",表示他不会算。

2.格式与样例

输入

输入文件包含不超过100行,以文件结束符结尾。每行包含一道题目,格式保证符合上述规定,且不包含任何空白字符。输入的所有整数均不含前导0。

输出

输出仅一行,包含一个非负整数,即弟弟答对的题目数量。

样例输入

1+2=3

3-1=5

6+7=?

99-0=99

样例输出

2

3.参考答案

代码语言:javascript
复制
#include<stdio.h>  
#include<string.h>  //包含strlen()
int main()  
{  
    int a,b,d,sum=,i,len; 
    //其中a为第一个数,b为第二个数
    //d为a与b运算正确的数,len为最后弟弟输入的数的长度
    char c,s[];  
    //其中c为预算符,s为弟弟输入的结果
    while(scanf("%d%c%d=%s",&a,&c,&b,s)!=EOF)  
        //回车也不会结束,但ctrl+z可以让scanf()返回EOF
        //运行时到结束的时候按ctrl+z即可
    {  
        d=;  //初始化d很关键
        len=strlen(s);  
//strlen()得弟弟输入的结果的长度,用到后面将字符转化为数里面
        if(s[]!='?')  //如果是问号就直接跳过了
        {  
            for(i=;i<len;i++)  
            {  
                d=d*+s[i]-'0';  
            }  
            if(c=='+')  
            {  
                if(a+b==d)  
                    sum++;  
            }  
            else if(c=='-')  
            {  
                if(a-b==d)  
                    sum++;  
            }  
        }  
    }  
    printf("%d\n",sum);  
    return ;  
}

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 电子荣耀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档