将十进制转换成八进制

本文介绍了三种将十进制数转换为八进制数的方法,包括使用链表、数组和栈。详细阐述了每种方法的实现思路,包括相应的头文件声明和函数应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.采用链表的形式:

头文件:函数的声明

#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;
}


二.采用数组实现

头文件:函数的声明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值