C语言,求大佬
查看原帖
C语言,求大佬
861113
wanan2203ouchengli楼主2023/7/29 14:49

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);
}
2023/7/29 14:49
加载中...