解答下啊,高手啊
#include<stdio.h>#define Maxsize 30
typedef struct
{
int s[Maxsize];
int *top;
int *base;
}stack;
void initstack(stack *st)
{
st->top=st->base;
}
int push(stack *st,int x)
{
if(st->top-st->base>=Maxsize-1)
return 0;
else
{
*(st->top++)=x;
return 1;
}
}
int stackempty(stack st)
{
if(st.top==st.base)
return 1;
else return 0;
}
int pop(stack *st,int x)
{
if(st->top==st->base)
return 0;
else
{
x=--(*st->top);
st->top--;
return 1;
}
}
void main()
{
stack st;
initstack(&st);
int n;
scanf("%d",&n);
while(n)
{
push(&st,n%2);
n=n/2;
}
while(!stackempty(st))
{
int e;
pop(&st,e);
printf("%d",e);
}
}
你这样把代码贴上来,一句话都不说,谁知道你要干什么。。。。。。。。 我知道错哪会问你吗?你不会运行下啊,不比我告诉你强啊。
说话这么不客气,虽然我有求与你,你的话,真的听了不舒服。 不舒服就去死吧。 鄙视,你也去死吧。 你如果发了错误提示,说不定论坛高手就不用去编译,而从你的错误提示中直接告诉你哪里错了,你可以自已去改。还有,你不考虑一下有些人不在用自已的电脑,而是在别的地方,没有编译器可又能帮你回答问题的么。最起码你应该说一下你的程序想实现什么,想得到怎样的结果,难道你要求每一个帮你回答问题的人要一句一句的帮你看是不是哪 里少了分号,或少了大括号么。建议你看一下静老大的“提问的智慧“。
[[it] 本帖最后由 zjl138 于 2008-4-8 15:33 编辑 [/it]] ok,I know.Thank you. //自己顶下,改过的
#include<stdio.h>
#include<malloc.h>
#define Maxsize 30
#define stack_init_size 100
#define stackincrement 20
typedef struct
{
int s[Maxsize];
int *top;
int *base;
}stack;
void initstack(stack *st)
{
(*st).base=(int *)malloc(stack_init_size*sizeof(int));
(*st).top=(*st).base;
}
int push(stack *st,int x)
{
*st->top++=x;
return 1;
}
int stackempty(stack st)
{
return(st.top==st.base);
}
int pop(stack *st,int *x)
{
*x=*--(*st).top;
return 1;
}
void main()
{
stack st;
st.base=st.top=0;
initstack(&st);
int n;
scanf("%d",&n);
while(n)
{
push(&st,n%2);
n=n/2;
}
while(!stackempty(st))
{
int e;
pop(&st,&e);
printf("%d",e);
}
printf("\n");
} 2#的言语最起码我感觉还是可以过去的,而3#的你这样说话才会让人不舒服.求知是要谦虚同时虚心接受他人的意见,一抛代码连其它相关信息都不写,又责怪帮助你解决问题的热心人,还有谁会帮助你?你要记住:没有人在这里是义务的为你服务,给你指正错误,同时更没有人愿意听你的责备. 我已经有说过知道了,孔明先生。这贴真是我生命中的败笔。
知道错的人,你就别再攻击了吧。 认罪态度不端正! 姐姐,你可爱了啊。我应该怎么认罪呢?
页:
[1]
