3058. 链表运算

Master X

问题来了……
我为什么要用链表???!

10175101103-STARK

求波兰式转成逆波兰式更方便

10175102262 LarsPendragon

注意几点:
1. 这道题给出的算式不是波兰式,要反过来考虑。
2. 注意计算时先计算哪个数字(尤其是减法和除法)。
附C代码:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
    int T, I;
    scanf("%d",&T);
    for(I=0; I<T; I++)
    {
        double num[50];
        int i=-1, j=0;
        char s[20];
        while(scanf("%s",s))
        {
            int l=strlen(s);
            if(l==1 && s[0]=='+') num[--i]=num[i+1]+num[i];
            else if(l==1 && s[0]=='-') num[--i]=num[i+1]-num[i];
            else if(l==1 && s[0]=='*') num[--i]=num[i+1]*num[i];
            else if(l==1 && s[0]=='/') num[--i]=num[i+1]/num[i];
            else(num[++i]=atof(s));
            if(getchar()=='\n') break;
        }
        printf("case #%d:\n%.2lf\n",I,num[j]);
    }
    return 0;
}
你当前正在回复 博客/题目
存在问题!