⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 习题1-数制转换(1).c

📁 数据结构各章实验源代码; 数据结构实验源代码
💻 C
字号:
#include  "datastru.h"
#include  <stdio.h>

void initstack(SEQSTACK *s)
 {/*顺序栈初始化*/
  s->top = 0;
 }

DATATYPE1 gettop(SEQSTACK *s)
 {/*返回栈顶元素*/
   DATATYPE1  x;
   if(s->top == 0)
     {printf("栈空\n");
	    x = 0;}
   else
	    x = (s->data)[s->top];
   return x;
 }

int push(SEQSTACK   *s,  DATATYPE1  x)
{/*元素x入栈*/
  if(s->top == MAXSIZE - 1)
    {  printf("栈满\n");
       return 0;}
  else
    { s->top ++;
      (s->data)[s->top] = x;
      return 1;}
}

DATATYPE1 pop(SEQSTACK *s)
 {/*返回栈顶元素并删除栈顶元素*/
   DATATYPE1  x;

   if(s->top == 0)
     { printf("栈空\n");
       x = 0;}
	 else
	  { x = (s->data)[s->top];
	    s->top--;}
   return  x;
}

main( )
{
	SEQSTACK stack, *s;
	int  n;

	s = &stack;
	initstack(s);
	n = 0;
	printf("输入一非负整数(十进制) :");
	scanf("%d",&n);
	push(s,'#');
	while(n != 0)
	  {push(s, n % 8);               /* %为求余数运算符, 余数入栈*/
	   n = n / 8;}                   /* /为求整数商运算符,商不为零,继续运行*/
	printf("\n\n对应的八进制数为 :");
	while(gettop(s) != '#')
	  printf("%d",pop(s));
printf("\n");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -