- 前言
- 一、题意
- 二、代码
- 1.代码的实现
- 2.读入数据
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
输入一个十进制将其转换成八进制和十六进制本题是在C语言中较为常见的问题!
提示:以下是本篇文章正文内容,下面案例可供参考
一、题意在C环境中输入一个十进制数,在结果中第一行输出8进制数第二行输出16进制数。
输入10
输出
12
A
输入100
输出
144
64
#include2.读入数据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]]); }
18//输入18 22//18对应的八进制 12//18对应的十六进制
总结
在c语言中设计一个程序输出10进制到八进制或者十六进制的程序十分的常见,属于基础题型,所以此题不会的同学需要多阅读几遍程序,理解并将其转化为自己的知识。



