一.采用链表的形式:
头文件:函数的声明
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
typedef char ElemType;
typedef struct node
{
ElemType data;
struct node *next;
}LStackNode,*LinkStack;
void Conversion(int N);
函数的定义
#include "数制转换.h"
/*利用链表实现*/
void Conversion(int N)
{
LStackNode *p,*top = NULL;
do
{
p = (LinkStack)malloc(sizeof(LStackNode));
p->data = N%8;
p->next = top;
top = p;
N /= 8;
}while(N != 0);
printf("数制转换成八进制数:");
while(top != NULL)
{
p = top;
printf("%d",p->data);
top = top->next;
free(p);
}
printf("\n");
}
函数的应用
#include "数制转换.h"
int main(void)
{
int N;
printf("请输入需要数制转换的十进制数:");
scanf("%d",&N);
Conversion(N);
return 0;
}
二.采用数组实现
头文件:函数的声明