因为实在是太简单我就不讲了,可以点赞,给个鼓励
代码如下:
#include<stdio.h>
#define MAX 20
int main()
{
char s1[MAX] = { '6','5','2','3','+','8','*','+','3','+','*','\0'};
double s2[MAX] = { 0 };
int i = 0;
int j = 0;
while (s1[i] != '\0')
{
if (s1[i] >= 48 && s1[i] <= 57)
{
s2[j++] = s1[i++] - 48.0;
}
else
{
switch (s1[i])
{
case '+':
{
s2[j-2]=s2[j-1] + s2[j-2];
j = j - 1;
i++;
break;
}
case '*':
{
s2[j - 2] = s2[j - 1] * s2[j - 2];
j = j - 1;
i++;
break;
}
case '/':
{
s2[j - 2] = s2[j - 1] / s2[j - 2];
j = j - 1;
i++;
break;
}
case '-':
{
s2[j - 2] = s2[j - 1] - s2[j - 2];
j = j - 1;
i++;
break;
}
}
}
}
printf("计算的结果是: %.0lf", s2[0]);
return 0;
}
运行截图: