题目大意:将表达式反转之后的表达式是否成立(ps:其实自己看了好久的题目才看懂,也有去问百度)
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char express[25];
char temp;
int sum,a,b,i;
while(true)
{
cin >> express;
if(strcmp(express,"0+0=0")==0)
{
cout<<"True\n";
return 0;
}
int len=strlen(express);
for(i=0;i<len/2;i++)//进行反转
{
temp=express[i];
express[i]=express[len-i-1];
express[len-i-1]=temp;
}
sscanf(express,"%d=%d+%d",&sum,&a,&b);//sscanf用法
if(sum==a+b) cout<<"True\n";
else cout<<"False\n";
}
return 0;
}
/*个人感觉难点不是很大,如果学会使用sscanf的用法,将更加方便。
附上sscanf用法:
个人理解是将之前的输入的东西,转化格式,用%s,%c,%d等等来转化,然后后面附上转化后的变量注意要加上地址符,不然会出错。
希望每天能够都有那么一点点努力!