| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 909 人关注过本帖, 1 人收藏
标题:用将十进制转化为八进制。。改不了错呀!!!
只看楼主 加入收藏
支风儿
Rank: 2
等 级:论坛游民
帖 子:25
专家分:13
注 册:2013-4-6
收藏
得分:0 
回复 5楼 ray李锐
#include<stdio.h>
 #include<malloc.h>
 #define OK 1
 #define ERROR 0
 #define OVERFLOW -1
 #define STACK_INIT_SIZE 100
 #define STACKINCERMENT 10
 typedef int SElemType;
 typedef   int Status;
 typedef struct
 {
    SElemType  *base;
    SElemType *top;
 int stacksize;
 }SqStack;
 //创建一个空栈;
Status InitStack(SqStack &S)
 {
     S.base=(SElemType *)malloc(STACK_INIT_SIZE * sizeof(SElemType));
     if(!S.base)
         exit(OVERFLOW);
     S.top=S.base;
     S.stacksize=STACK_INIT_SIZE ;
     return OK;
 }//InitStack
 //插入操作
Status Push(SqStack &S,SElemType e)
 {
     if(S.top-S.base>=S.stacksize)
     {
         S.base=(SElemType*)realloc(S.base,(S.stacksize+STACKINCERMENT)*sizeof(SElemType));
         if(!S.base)
             exit(OVERFLOW);
         S.top=S.base+S.stacksize;
         S.stacksize+=STACKINCERMENT;  //STACKINCERMENT你应该写错了
     }
     *S.top++=e;
      return OK;
 }//Push
 //出栈
Status Pop(SqStack &S,SElemType &e)
 {
     if(S.top==S.base )return ERROR;
     e=*--S.top;
     return OK;
 }//Pop
 Status StackEmpty(SqStack &S)//是否是空栈
{
     if(S.base==S.top)
     return OK;
     else
     return ERROR;
 }
 void conversion()
 {   SqStack S;   //没有定义S
     int N;
     int e;   //没有定义e
     InitStack(S);
     scanf("%d",&N); //漏了取值符号
     while (N)
     {
     Push(S,N%8);
     N=N/8;
     }
     while (!StackEmpty(S))  //输入格式错误,且漏了S
     {
     Pop(S,e);
     printf("%d",e);
     }
 }//conversion;
 int main()
 {
     conversion(); //漏分号
     return OK;
 }
很多基本的语法错了
2013-04-16 14:51
快速回复:用将十进制转化为八进制。。改不了错呀!!!
数据加载中...
 
   



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

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