首页 > 代码库 > rwkj 1206 弟弟的作业

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]==‘\0‘)          z=c[0]-48;
           
           
               else if(c[2]==‘\0‘)      z=(c[0]-48)*10+c[1]-48;
                        else if(c[3]==‘\0‘)      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\n",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\n",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]==\0)          z=c[0]-48;                                       else if(c[2]==\0)      z=(c[0]-48)*10+c[1]-48;                        else if(c[3]==\0)      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\n",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]==\0)                z=c[0]-48;            else            {                if(c[2]==\0)                    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\n",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", 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;   }