foj 1171 Hard to Believe, but True!

题目链接

题目大意:将表达式反转之后的表达式是否成立(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等等来转化,然后后面附上转化后的变量注意要加上地址符,不然会出错。

希望每天能够都有那么一点点努力!

posted on 2017-03-29 19:32  linese-d  阅读(135)  评论(0)    收藏  举报

导航