标签:
你的弟弟刚做完了“100以内数的加减法”这部分的作业,请你帮他检查一下。每道题目(包括弟弟的答案)的格式为a+b=c或者a-b=c,其中a和b是作业中给出的,均为不超过100的非负整数;c是弟弟算出的答案,可能是不超过200的非负整数,也可能是单个字符"?",表示他不会算。
1+2=3
3-1=5
6+7=?
99-0=99
2
原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=663
简单题,从代码就可以看出水平。
#include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> using namespace std; int main() { int a,b; char c[5],op,e; int cnt=0; while(cin>>a>>op>>b>>e>>c) { cout<<a<<op<<b<<e<<c<<endl; int ans; if(c[0]!='?') ans=atoi(c); else continue; if(op=='+') { if(a+b==ans) cnt++; } else if(op=='-') { if(a-b==ans) cnt++; } } cout<<cnt<<endl; 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<stdio.h> int main() { int a,b,c,sum=0; char k; while(1) { switch(scanf("%d%c%d=%d",&a,&k,&b,&c)) { case 4: if(k==43&&a+b==c||k==45&&a-b==c) sum++; continue; case 3: getchar(); continue; case EOF: printf("%d\n",sum); return 0; } } }
标签:
原文地址:http://blog.csdn.net/hurmishine/article/details/52253954