C语言,求大佬
本地都过了,不知道为什么洛谷上过不了
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
typedef struct N {
char* top, * base;
int size;
}N;
void CSH( N & l) {
l.size = 10000;
l.top = new char[10000];
l.base = l.top;
}
int RZ( N & l,int e) {
if (l.top - l.base == l.size) {
printf("满了");
return 0;
}
*l.top++= e;
}
int CZ(N& l,int a,int b) {
if (l.top == l.base) {
printf("空的");
return 0;
}
else {
a = *--l.top;
b = *--l.top;
}
}
int main() {
N l;
CSH(l);
char a[10000];
int b[100],i=-1,h=0,e=0,s=0,f=0;
while (a[i]!= '@') {
i++;
scanf("%c",&a[i]);
}
for (int j = 0; j <= i; j++) {
if (a[j] >= '0' && a[j] <= '9') {
b[h]= 'a[j]' - 48;
h++;
}
else {
int r = h;
if (a[j] == '.') {
for (int u = 0; u <= r; u++) {
e += b[i] * pow(10, h-u);
}
RZ(l, e);
}
else {
CZ(l, s, f);
switch (a[j]) {
case '+':RZ(l, f + s); break;
case '-':RZ(l, f - s); break;
case '*':RZ(l, f * s); break;
case '/':RZ(l, f / s); break;
}
}
}
}
printf("%d", *l.top);
}