user-0 提问: 【数据结构】OJ平台的输出超限

回复:
user: user-1
content: 边界条件 字斟句酌

user: user-0
content: 引用 1 楼 ihewro 的回复:改了好久还是不行，我又换了一种写法，还是不行。。。。。。。。 求大神！！！ #include <stdio.h> //预定义常量和类型  #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -1  #define SElemType int #define Status int  #define MAXSIZE 1001//顺序线性表的初始容量 //#define LISTINCREMENT 10  /*【1】定义顺序栈的结构类型*/ typedef struct  { 	 int data[MAXSIZE]; 	 int top; }SqStack;   /*【2】初始化顺序栈，即头指针值赋为 -1 */ Status InitStack(SqStack *l) { 	l->top = -1; 	return OK; }  /*【3】出栈*/ Status PopStack(SqStack *l) { 	int e; 	if(l->top == -1) 	{ 		printf("ERROR"); 		return ERROR; 	} 	e = l->data[l->top]; 	printf("%d ",e); 	l->top --; 	return OK; }  /*【4】进栈*/ Status PushStack(SqStack *l,int n) { 	if(l->top == MAXSIZE - 1) 	{ //		printf("错误！"); 		return ERROR; 	} 	l->top++; 	l->data[l->top] = n;  	return OK; }  void main () { 	char ch;; 	SqStack la; 	InitStack(&la); 	int i; 	i = 1; 	while (scanf("%c",&ch)!=EOF) 	{ 		while(ch!='\n') 		{ 			if(ch =='\n') 				break; 			if(ch == 'P') 			{ 				PushStack(&la,i); 				i = i+1; 			} 			if(ch == 'Q') 			{ 				PopStack(&la); 			} 			scanf("%c",&ch); 		} 		i = 1; 		InitStack(&la); 		printf("\n"); 	}  }  是这个，贴错了 #include <stdio.h> #include <string.h> //预定义常量和类型  #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -1  #define SElemType int #define Status int  #define MAXSIZE 1001//顺序线性表的初始容量 //#define LISTINCREMENT 10  /*【1】定义顺序栈的结构类型*/ typedef struct  { 	 int data[MAXSIZE]; 	 int top; }SqStack;   /*【2】初始化顺序栈，即头指针值赋为 -1 */ Status InitStack(SqStack *l) { 	l->top = -1; 	return OK; }  /*【3】出栈*/ Status PopStack(SqStack *l) { 	int e; 	if(l->top == -1) 	{ 		printf("ERROR"); 		return ERROR; 	} 	e = l->data[l->top]; 	printf("%d ",e); 	l->top --; 	return OK; } /*【4】进栈*/ Status PushStack(SqStack *l,int n) { 	if(l->top == MAXSIZE - 1) 	{ //		printf("错误！"); 		return ERROR; 	} 	l->top++; 	l->data[l->top] = n; 	return OK; }  void main () { 	SqStack la; 	InitStack(&la); 	char c[1000]; 	while(scanf("%s",c)!=EOF) 	{ 		int i; 		int n = 1; 		for(i = 0;i < strlen(c);i++) 		{ 			 			if(c[i] == 'P') 			{ 				PushStack(&la,n); 				n = n+1; 			} 			if(c[i] == 'Q') 			{ 				PopStack(&la); 			} 		} 		printf("\n");  		i = 1; 		InitStack(&la);  	} }

user: user-0
content: 改了好久还是不行，我又换了一种写法，还是不行。。。。。。。。 求大神！！！ #include <stdio.h> //预定义常量和类型  #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -1  #define SElemType int #define Status int  #define MAXSIZE 1001//顺序线性表的初始容量 //#define LISTINCREMENT 10  /*【1】定义顺序栈的结构类型*/ typedef struct  { 	 int data[MAXSIZE]; 	 int top; }SqStack;   /*【2】初始化顺序栈，即头指针值赋为 -1 */ Status InitStack(SqStack *l) { 	l->top = -1; 	return OK; }  /*【3】出栈*/ Status PopStack(SqStack *l) { 	int e; 	if(l->top == -1) 	{ 		printf("ERROR"); 		return ERROR; 	} 	e = l->data[l->top]; 	printf("%d ",e); 	l->top --; 	return OK; }  /*【4】进栈*/ Status PushStack(SqStack *l,int n) { 	if(l->top == MAXSIZE - 1) 	{ //		printf("错误！"); 		return ERROR; 	} 	l->top++; 	l->data[l->top] = n;  	return OK; }  void main () { 	char ch;; 	SqStack la; 	InitStack(&la); 	int i; 	i = 1; 	while (scanf("%c",&ch)!=EOF) 	{ 		while(ch!='\n') 		{ 			if(ch =='\n') 				break; 			if(ch == 'P') 			{ 				PushStack(&la,i); 				i = i+1; 			} 			if(ch == 'Q') 			{ 				PopStack(&la); 			} 			scanf("%c",&ch); 		} 		i = 1; 		InitStack(&la); 		printf("\n"); 	}  }