#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char *str = new char;
char *oper = new char;
cin>>str;
int left, right, result;
int sign = 1;
int sum = 0;
int num[10] = {0};
int number = 0;
int number1 = 0;
oper[0] = 0;
int i=0,j=0;
for(int i=0; str[i]!=0; i++)
{
if(str[i]>='0' && str[i]<='9')
sum = sum*10+(str[i]-'0');
else
{
oper[number1++] = str[i];
num[number++] = sum;
sum = 0;
}
}
num[number] = sum;
left = 0;
right = num[0];
for (i = 0; i < number1; i++, j++)
{
switch(oper[i])
{
case '+':
left=left+sign*right;
sign=1;
right=num[j+1];
break;
case '-':
left=left+sign*right;
sign=-1;
right=num[j+1];
break;//通过f=-1实现减法
case '*':
right=right*num[j+1];
break;//实现乘法
case '/':
right=right/num[j+1];//实现除法
break;
}
}
result = left+sign*right;
for(int i=0; i<=number; i++)
cout<<num[i]<<" ";
for(int i=0; i<number1; i++)
cout<<oper[i]<<" ";
cout<<endl;
cout<<result<<endl;
}
四则运算 字符串输入
最新推荐文章于 2022-08-04 15:58:20 发布