小学数学
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
今年中秋节,大宝哥带着一盒月饼去看望小学数学老师。碰巧数学老师在指导他的学生“100以内的加减法”,由于老师要指导很多个小朋友,所以经常会忙不过来,于是老师便请大宝帮忙检查下小朋友们的作业情况,并统计出每个小朋友做对了几道题。其中每道算术题的格式为a+b=c、a-b=c、a+b=?、a-b=? 中的一种,最后的问号表示这个小朋友不会计算这道题。在检查作业的过程中,大宝发现他经常算错题目而且会数错个数。所以他想请你帮忙写个程序来统计小朋友做对题目的个数。
Input
输入包含多组测试数据,每组有一行,每行为一道加法或减法算式,数据格式保证符合上述格式,不包含任何其他字符且所有整数均不包含前导0。其中(0≤a,b≤100,0≤c≤200)。
Output
输出只有一行,包含一个整数,即等式成立的个数。
Sample Input
2+2=33-1=26+7=?99-0=?
Sample Output
1
//package onlinejudge;
import java.util.Scanner;
public class Main{
public static void main(String []args) {
Scanner cin = new Scanner(System.in);
int num = 0;
while(cin.hasNext()) {
String s;
s = cin.nextLine();
if(s.charAt(s.length()-1)!='?') {
int i , j ;
for(i = 0;i<s.length();i++) {
if(s.charAt(i)=='+'||s.charAt(i)=='-')
break;
}
int a , b , c ,d;
String str = s.substring(0, i);
a = Integer.parseInt(str);
if(s.charAt(i)=='+') d = 1;
else d = -1;
for(j = i;j<s.length();j++) {
if(s.charAt(j)=='=')break;
}
str = s.substring(i+1,j);
b = Integer.parseInt(str);
str = s.substring(j+1,s.length());
c = Integer.parseInt(str);
if(d==1) {
if(a+b==c)num++;
}
else {
if(a-b==c)num++;
}
//System.out.println(a + " " + b + " " + c + " " + d);
}
}
System.out.println(num);
cin.close();
}
}