标题:指教一下那出错了,小女子在这谢过了。
只看楼主
梦巷
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2015-4-18
结帖率:100%
 问题点数:0 回复次数:4 
指教一下那出错了,小女子在这谢过了。
#include <stdio.h>
 #include <stdlib.h>
 typedef struct
 {
     int *Top;
     int *Bottom;
 } Stack;
  int  Initstack(Stack *s)
{   

     s->Top=(int *)malloc(sizeof((int *)100));
     s->Bottom=s->Top;
 }
 int push(Stack *s,int n)
{
     *s->Top=n;
     s->Top++;}
 }
 int Pop(Stack *s,int e)
    {
        
    if(s->Top!==s->Bottom)
     s->Top--;
     e=*s->Top;}
     return e;
     
 }
 main()
{
     Stack s;
     int n,e;
     printf("请输入一个正整数:");
     scanf("%d",&n);
     while(n!=0)
     {
          push(s,n%8);
         n=n/8;
     }   
     while(s->Top!=s->Bottom)
     {
         e=Pop(s,e);
         printf("%3d",e);
     }
     printf("\n");

 }
搜索更多相关主题的帖子: include 小女子 return 正整数 
2015-04-18 15:55
zcdjt
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:99
专家分:181
注 册:2014-9-9
得分:0 
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
     int *Top;
     int *Bottom;
} Stack;
  int  Initstack(Stack *s)
{   

     s->Top=(int *)malloc(sizeof((int *)100));
     s->Bottom=s->Top;
}
int push(Stack *s,int n)
{
     *s->Top=n;
     s->Top++;//}
}
int Pop(Stack *s,int e)
    {
        
    if(s->Top!=s->Bottom)
      {//
     s->Top--;
     e=*s->Top;
      }
     return e;
     
}
main()
{
     Stack *s;//你定义的是指针
     int n,e;
     printf("请输入一个正整数:");
     scanf("%d",&n);
     while(n!=0)
     {
         push(s,n%8);
         n=n/8;
     }   
     while(s->Top!=s->Bottom)
     {
         e=Pop(s,e);
         printf("%3d",e);
     }
     printf("\n");

}

今朝醉
2015-04-19 19:57
梦巷
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2015-4-18
得分:0 
回复 2楼 zcdjt
谢谢你
2015-04-19 20:13
Erlosshex
Rank: 2
等 级:论坛游民
威 望:1
帖 子:17
专家分:10
注 册:2014-5-24
得分:0 
#include<stdio.h>
#include<stdlib.h>

typedef struct
{
  int *Top;
  int *Bottom;
} Stack;

int InitStack(Stack *s)
{
  s->Top=(int *)malloc(sizeof(int)*100);
  s->Bottom=s->Top;
  return 0;
}

int Push(Stack *s,int n)
{
  *(s->Top)=n;
  (s->Top)++;
  return n;
}

int Pop(Stack *s)
{
  if(s->Top == s->Bottom)
  {
    /* printf("\nStack is Empty!\n"); */
    return -1; /* the flag for empty stack */
  }
  else
  {
    s->Top--;
    return *s->Top;
  }
}

int main()
{
  Stack *s=(Stack *)malloc(sizeof(Stack)); //这里,运用指针必须要先让它指向一块内存
  int n,e;

  InitStack(s);

  printf("please input a positive number : ");
  scanf("%d",&n);
  
  while(n!=0)
  {
    Push(s,n%8);
    n/=8;
  }

  while((e=Pop(s))!=-1)
  {
    printf("%3d",e);
  }
  printf("\n");
  return 0;
}
2015-05-06 15:38
T_MACC
Rank: 4
等 级:业余侠客
威 望:8
帖 子:99
专家分:211
注 册:2015-4-14
得分:0 
送你个任意进制转换的
/*#include <iostream>
using namespace std;
typedef struct stdudent
{
    //int data[200];
    int *top, *base;
    int stacksize;
}setstack,*psetstack;
//初始化栈
int Initstack(psetstack p)
{
    p->base = new int [200];
    if (!p->base)
    {
        return 0;
    }
    p->top = p->base;
    p->stacksize = 200;
    return 1;
}
void Push(psetstack p, int e)
{
    //先判断栈满
    if (p->top-p->base == p->stacksize-1)
    {
        exit(0);
    }
    *p->top++ = e;//   *p->top=e;     p->top++;
   
   
}
bool empty(setstack S)
{
    if (S.top == S.base)
    {
        return true;
    }
    else
        return false;
}
void pop(psetstack p, int *x)
{
   
    *x = *--p->top;
}
//销毁栈
int de(psetstack p)
{
    if (p->base)
    {
        delete p->base;
        p->stacksize = 0;
        p->base = p->top = NULL;
    }
    return 1;
}
int main()
{
    setstack S;
    Initstack(&S);
    int a, b;
    int x=0;
    int e=0;
    cout << "请输入需要转换的数值a" << endl;
    cin >> a;
    cout << "输入需要转换的进制数b" << endl;
    cin >> b;
    while (a)
    {
        //元素进栈
        e = a%b;
        Push(&S,e);
        a = a / b;
    }
    //弹出元素
    while (!empty(S))
    {
        pop(&S,&x);
        printf("%d",x);
    }
    printf("\n");
    de(&S);
    return 0;
}*/
2015-05-26 10:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-444192-1-1.html




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

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