求大佬指点,为啥只过一个点

P1449 后缀表达式

DEVILK @ 2017-09-16 12:40:31

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char s[5001];
int top,a[5001];
int main()
{
    int i=0;
    gets(s);
    while(s[i]!='@')
    {
        if(s[i]=='.'){
            a[++top]=s[i-1]-'0';
        }
        switch(s[i])
        {
            case '+':a[top-1]+=a[top];top--;break;
            case '-':a[top-1]-=a[top];top--;break;
            case '*':a[top-1]*=a[top];top--;break;
            case '/':a[top-1]/=a[top];top--;break;
        }
        i++;
    }
    cout<<a[1];
}

by ann_wang @ 2017-10-30 21:38:47

按字符串读入的多位数,需要处理,前一位*10+当前位


|