用链栈实现将十进制数转化为八进制数。(要完整的C++程序或C语言程序,谁能解决我把分数都给他,拜托了!

来源:百度知道 编辑:UC知道 时间:2024/06/17 12:55:10
(要完整的C++程序或C语言程序,谁能解决我把分数都给他,拜托了!)
拜托了,一定要是完整的,全的程序啊,我一点也不会呀!

栈的基本操作函数你自己搞定.我的是实现将十进制数转化为八进制数的函数.
void conversion(){
initstack(s);//构造空栈
scanf("%d",&n);
while(n){
push(S,n%8);//插入元素为栈定新元素
n=n/8;}
while(!stackempty(s)){//判断栈s是否为空栈
pop(s,e);//删除栈定元素,用e返回该元素
printf("%d",e);}
}

/* ***************************************
* Filename:changedate2.c
* Author:hufeng Date:2007/11/12
* Version:v1.0
* ****************************************/

/* header file */
#include <stdio.h>
#include <stdlib.h>

/* creat a struct */
typedef struct linkstack
{
int date;
struct linkstack *next;
}ls;

/* date change */
void change_date(ls *top, int num)
{
ls *p = NULL;

while (num != 0)
{
p = (ls*)malloc(sizeof(ls)); /* creat a node */
p->date = num % 8;

p->next = top->next;