| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 449 人关注过本帖
标题:请指点错误!
只看楼主 加入收藏
qzt040613
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:63
专家分:0
注 册:2006-3-15
收藏
 问题点数:0 回复次数:4 
请指点错误!

要求是输入一个十进制整数,输出它的八进制形式。我的程序有错误,请指出。谢谢!
#include<stdio.h>
typedef struct {
int *base;
int *top;
int stacksize;
}Sqstack;
InitStack(Sqstack&S)
{ S.base=(int*)malloc(100);
S.top=S.base;
S.stacksize=100;
}
Push(Sqstack&S,int e)
{*S.top++=e;}
Pop(Sqstack&S,int e)
{e=*--S.top;}

int main()
{int N,;
InitStak(S);
scanf("%d",&N);
while(N)
{Push(S,N%8);
N=N/8;
}
while(!StackEmpty(S))
{Pop(&s,e);
printf("%d",e);
}
}

搜索更多相关主题的帖子: include 八进制 十进制 
2006-03-24 14:58
未来的梦
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-3-23
收藏
得分:0 

#include<stdio.h>
#include<stdlib.h>
#define INIT_STACK_SIZE 10
#define STACKINCREMENT 10
typedef struct{
int *base;
int *top;
int stacksize;
}SqStack;

SqStack InitStack(SqStack S);
SqStack Push(SqStack S,int e);
SqStack Pop(SqStack S,int *e);

int main(void)
{
int value,e;
SqStack S;

printf("Please input decimal number: ");
scanf("%d",&value);
S=InitStack(S);
while(value)
{
S=Push(S,value%8);
value/=8;
}
while(S.top != S.base)
{
S=Pop(S,&e); //注意此处判断栈是否为空
printf("%d",e);
}
printf("\n");

free(S.base);
return 0;
}

SqStack InitStack(SqStack S)
{
if((S.base=(int *)malloc(INIT_STACK_SIZE * sizeof(int)))==NULL)
{
exit(1);
}
S.top=S.base;
S.stacksize=INIT_STACK_SIZE;

return S;
}

SqStack Push(SqStack S,int e)
{
*(S.top++)=e;
if(S.top-S.base >= S.stacksize)
{
if((S.base=(int *)realloc(S.base,(S.stacksize + STACKINCREMENT) * sizeof(int)))==NULL)
{
exit(1);
}
S.top=S.base+S.stacksize;
}

return S;
}

SqStack Pop(SqStack S,int *e)
{
if(S.top != S.base)
*e=*(--S.top);
return S;
}


QQ: 619969970.weilai.虽无飞,飞必冲天;虽无鸣,鸣必惊人;虽无想,想则必成。
2006-03-25 00:47
qzt040613
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:63
专家分:0
注 册:2006-3-15
收藏
得分:0 

是个死循环,得不到预期的结果!


天地无极,我本逍遥!
2006-03-25 07:13
haishanglang
Rank: 1
等 级:新手上路
帖 子:378
专家分:0
注 册:2006-3-2
收藏
得分:0 
2楼的程序非常好啊

2006-03-25 07:29
qzt040613
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:63
专家分:0
注 册:2006-3-15
收藏
得分:0 
谢谢二楼!这个程序用C++能得到正确的结果!但用C不能,为什么?

天地无极,我本逍遥!
2006-03-25 07:53
快速回复:请指点错误!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012134 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved