问题描述
试题编号: | 201903-2 |
试题名称: | 二十四点 |
时间限制: | 1.0s |
内存限制: | 512.0MB |
问题描述: | |
//0' 呜呜呜~ 没什么思路 用最笨的方法写
//(1)定义输入的字符数组时没有考虑数字可能是多位 不仅仅占一个字符位 所以计算时的符号位和字符位混乱 计算结果不会为24 输出只有No的情况
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cstring>
using namespace std;
int cal(int a,char c,int b)
{
int num=0;
switch(c)
{
case'+':
num=a+b;
break;
case'-':
num=a-b;
break;
case'*':
num=a*b;
break;
case'/':
num=a/b;
break;
default:
break;
}
return num;
}
int main()
{
int N;
int sum=0;
cin>>N;
char an[N][8];//定义结果字符数组
char str[N][8];
for(int i=0; i<N; i++)
{
cin>>str[i];
for(int j=0; j<7; j++)
{
sum=sum+cal(str[i][0],str[i][1],str[i][2]);
sum=cal(sum,str[i][3],str[i][4]);
sum=cal(sum,str[i][5],str[i][6]);
}
cout<<sum<<endl;
if(sum==24)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}