题解:P10372 [AHOI2024 初中组] 家庭作业
fried_chicken · · 题解
提供一种不同的思路。
我们可以把每一个算式定义成一个字符串,接下来把字符串里面的数字扣下来,最后判断就行。
我们可以这样做:定义两个变量,分别判断遍历字符串是否遍历到了
我们可以用三个字符串把三个数存下来。接下来我们使用 atoi 函数把三个数转化成整数。
记得清空。
代码:
#include <bits/stdc++.h>
using namespace std;
string s;
string a,b,c;
bool flag1=1,flag2=1;//+和=的判断
int main(){
int T;
cin>>T;
while(T--){
cin>>s;
flag1=flag2=1;
a.clear();b.clear();c.clear();
for(int i=0;i<s.length();i++){//遍历+判断
if(flag1&&s[i]>='0'&&s[i]<='9'){ a+=s[i];}
// cout<<(s[i]-'0');
if(s[i]=='+') flag1=false;
if(flag2&&!flag1&&s[i]>='0'&&s[i]<='9'){b+=s[i];}
if(s[i]=='=') flag2=false;
if(!flag1&&!flag2&&s[i]>='0'&&s[i]<='9'){c+=s[i];}
}
// cout<<a<<' '<<b<<' '<<c<<endl;
int aa=stoi(a);//转整数
int bb=stoi(b);
int cc=stoi(c);
if(aa+bb==cc) puts("Right!");
else puts("Wrong!");
}
return 0;
}