zoukankan      html  css  js  c++  java
  • rwkj 1206 弟弟的作业

    弟弟的作业

    时间限制(普通/Java):1000MS/3000MS            运行内存限制:65536KByte 总提交:171            测试通过:87

    描述

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

    输入

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

    输出

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

    样例输入

    1+2=3

    3-1=5

    6+7=?

    99-0=99

    样例输出

    2

     

     

    #include <stdio.h>
    int main(int argc, char *argv[])
    {
        int a,b,z,i;
        char f,d,c[3];
        i=0;
        while(scanf("%d%c%d%c%s",&a,&f,&b,&d,c)!=EOF)
        {       
            if(c[0]!='?')
            {
                if(c[1]=='')          z=c[0]-48;
               
               
                   else if(c[2]=='')      z=(c[0]-48)*10+c[1]-48;
                            else if(c[3]=='')      z=(c[0]-48)*100+(c[1]-48)*10+c[2]-48;
                }
                 
                switch(f)
                {
                    case '+':if(a+b==z)i++;break;
                    case '-':if(a-b==z)i++;break;
                }
               
           
        }
        printf("%d ",i);
        return 0;
    }

     

     

     

     

    #include <stdio.h>
    int a,c;
    char b,d[4];
    int main()
    {
        int x=0;
        while(scanf("%d%c%d=%s",&a,&b,&c,&d)!=EOF)
        {
            int i,s=0;
            if(d[0]=='?')continue;
            for(i=0;d[i];i++)
                      s=s*10+d[i]-48;
            if(b=='+'&&a+c==s||b=='-'&&a-c==s)
                x++;
        }
        printf("%d
    ",x);
        return 0;
    } 
    
    
    
    
    
    
    
    #include<iostream>
    using namespace std;
    int main()
    {  int i,a,b,c,len,t,count=0;
       char m,n,f[4];
       while(cin>>a>>m>>b>>n>>f)
       { 
           if(f[0]=='?')
               continue;
           else if(f[0]!='?')
           { 
               len=strlen(f),c=0,t=1;
             for(i=len-1;i>=0;i--)
               c=c+(f[i]-'0')*t,t=t*10;
             if((m=='+')&&(a+b==c))
                 count++;
                 else if((m=='-')&&(a-b==c))
                 count++;
           }
       }
       cout<<count<<endl;
     return 0;
    }  
    
    ************************
    
    #include <stdio.h>
    int main(int argc, char *argv[])
    {
        int a,b,z,i;
        char f,d,c[3]; 
        i=0;
        while(scanf("%d%c%d%c%s",&a,&f,&b,&d,c)!=EOF)
        {        
            if(c[0]!='?')
            {
                if(c[1]=='')          z=c[0]-48;
                
                
                   else if(c[2]=='')      z=(c[0]-48)*10+c[1]-48;
                            else if(c[3]=='')      z=(c[0]-48)*100+(c[1]-48)*10+c[2]-48;
                } 
                           
                switch(f)
                {
                    case '+':if(a+b==z)i++;break;
                    case '-':if(a-b==z)i++;break;
                }
                
            
        }
        printf("%d
    ",i);
        return 0;
    } 
    
    
    
    
    
    *******************
    #include <stdio.h>
    int main(int argc, char *argv[])
    {
        int a,b,z,i;
        char f,d,c[3]; 
        i=0;
        while(scanf("%d%c%d%c%s",&a,&f,&b,&d,c)!=EOF)
        {        
            if(c[0]!='?')
            {
                if(c[1]=='')
                    z=c[0]-48;
                else
                {
                    if(c[2]=='')
                        z=(c[0]-48)*10+c[1]-48;
                    else
                        z=(c[0]-48)*100+(c[1]-48)*10+c[2]-48;
                }            
                switch(f)
                {
                    case '+':if(a+b==z)i++;break;
                    case '-':if(a-b==z)i++;break;
                }
            }
        }
        printf("%d
    ",i);
        return 0;
    } 
    
    
    
    
    
    #include<stdio.h>
    int main() 
    {
      char s[99];
      int a, b, c, n = 0;
      while(scanf("%s", &s) == 1)
      {
        if(sscanf(s, "%d+%d=%d", &a, &b, &c) == 3 && a+b==c) n++;
        if(sscanf(s, "%d-%d=%d", &a, &b, &c) == 3 && a-b==c) n++;
      }
      printf("%d
    ", n);
      return 0;
    } 
    
    
    
    
    
    #include <iostream>
    #include <cstring>
    using namespace std;
    
    int main ()
    {
         int a,b;
         int sum = 0;
         char ch;
         char str[5];
         while (scanf ("%d%c%d%*c%s",&a,&ch,&b,str)!=EOF) 
         {         
               int len = strlen(str);
               if (str[len-1]=='?') continue;
               int c = 0;
               for (int i=0;i<len;i++) c = c*10+str[i]-'0';
               if (ch=='+'&&a+b==c) sum++;
               if (ch=='-'&&a-b==c) sum++; 
         }
         cout<<sum<<endl;
         
         //system ("pause");
         return 0;   
    }

     

     

  • 相关阅读:
    [BZOJ 1019][SHOI2008]汉诺塔(递推)
    [BZOJ 1018][SHOI2008]堵塞的交通traffic(线段树)
    [BZOJ 1017][JSOI2008]魔兽地图DotR(树形Dp)
    [BZOJ 1015][JSOI2008]星球大战starwar(并查集+离线)
    [BZOJ 1014][JSOI2008]火星人prefix(Splay+二分+hash)
    Vue脚手架创建项目目录详解
    Vue-cli3 vue.config.js配置详解
    Systemd指令大全
    CentOS7 常用命令集合
    Centos7虚拟机集群配置
  • 原文地址:https://www.cnblogs.com/2014acm/p/3887097.html
Copyright © 2011-2022 走看看