栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言练习:输入一个十进制将其转换成八进制和十六进制

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言练习:输入一个十进制将其转换成八进制和十六进制

文章目录
  • 前言
  • 一、题意
  • 二、代码
    • 1.代码的实现
    • 2.读入数据
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

输入一个十进制将其转换成八进制和十六进制本题是在C语言中较为常见的问题!


提示:以下是本篇文章正文内容,下面案例可供参考

一、题意

在C环境中输入一个十进制数,在结果中第一行输出8进制数第二行输出16进制数。

输入10

输出
12
A

输入100

输出
144
64

二、代码 1.代码的实现
#include
int b(int n);//表示八进制
int s(int n);//表示十六进制
int main()
{
	int n;
	scanf("%d",&n);//输入一个十进制数字
	b(n);//通过b函数输出十进制n对应的8进制
	printf("n");
	s(n);//通过b函数输出十进制n对应的8进制
	return 0;
}
int b(int n)//用于输出八进制
{
	int a[99];//存放8进制的各个位数的数字
	int i=0;
	while(n>7)//如果n大于7退出训话
	{
		a[i]=n%8;
		i++;
		n=n/8;
	}
	a[i]=n;//将退出循环时n<7的n的值放入数组中
	for(;i>=0;i--)
	printf("%d",a[i]);//逆序输出
}
int s(int n)
{
	int a[99],i=0;//数组a用于存储十六进制的每位数字
	char c[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//c代表十六进制从1--16每个数字对应的字符
	while(n>15)
	{
		a[i]=n%16;
		i++;
		n=n/16;
	}
	a[i]=n;//将退出循环时n<16的n的值放入数组中
	for(;i>=0;i--)
	printf("%c",c[a[i]]);
}

2.读入数据
18//输入18

22//18对应的八进制
12//18对应的十六进制

总结

在c语言中设计一个程序输出10进制到八进制或者十六进制的程序十分的常见,属于基础题型,所以此题不会的同学需要多阅读几遍程序,理解并将其转化为自己的知识。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1001117.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号