C语言实现10进制转变成2进制,8进制,16进制,字符‘0’-‘9’

简介: C语言实现10进制转变成2进制,8进制,16进制,字符‘0’-‘9’

思路

依次取余

选择用递归来实现先输出高位后输出低位

1.转二进制实现

voidfun(intn)
{
if(n/2)    //如果n/2=0,就往回返,=1,说明还没有除尽,继续调用自己fun(n/2);
printf("%d",n%2);
}
intmain()
{
intn;
scanf("%d",&n);
fun(n);
return0;
}

转二进制实例:

image.png

image.png

转8、16进制思路

标题算法和转2进制算法一样,对8,16取余就行,16进制需要每次判断余数是否大于9,’A’-‘F’

转8、16进制实现

voidfun(intn)
{
if(n/16)
fun(n/16);
if(n%16>9)
n%16>9?printf("%c",n%16+55):printf("%d",n%16);  
//判断是否大于9,大于加55输出对应的A-F}
intmain()
{
intn;
scanf("%d",&n);
fun(n);
return0;
}

转16进制实例

image.png

2.转字符‘0’ - ‘9’:

例:369转“369”

思路

对10取余获得它的每一位,加48得到它的ASCLL码

转字符‘0’-‘9’实现

voidfun(intn)
{
if(n/10)
fun(n/10);
printf("%c",n%10+48);  //获取个位+48得到ASCLL码输出字符}
intmain()
{
intn;
scanf("%d",&n);
fun(n);
return0;
}

转字符‘0’-‘9’实例

image.png

额好像看着没什么效果哈


目录
相关文章
|
1月前
|
C语言
C语言字符(串)函数
C语言字符(串)函数
|
1月前
|
存储 编译器 C语言
【C语言】简单介绍进制和操作符
【C语言】简单介绍进制和操作符
160 1
|
1月前
|
存储 安全 编译器
深入C语言库:字符与字符串函数模拟实现
深入C语言库:字符与字符串函数模拟实现
|
2月前
|
存储 C语言
【C语言基础考研向】10 字符数组初始化及传递和scanf 读取字符串
本文介绍了C语言中字符数组的初始化方法及其在函数间传递的注意事项。字符数组初始化有两种方式:逐个字符赋值或整体初始化字符串。实际工作中常用后者,如`char c[10]="hello"`。示例代码展示了如何初始化及传递字符数组,并解释了为何未正确添加结束符`\0`会导致乱码。此外,还讨论了`scanf`函数读取字符串时忽略空格和回车的特点。
|
1月前
|
C语言
C语言常见字符函数和字符串函数精讲
C语言常见字符函数和字符串函数精讲
|
2月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第六章 数组_一维数组_二维数组_字符数组详解
本章介绍了C语言中的数组概念及应用。数组是一种存储同一类型数据的线性结构,通过下标访问元素。一维数组定义需指定长度,如`int a[10]`,并遵循命名规则。数组元素初始化可使用 `{}`,多余初值补0,少则随机。二维数组扩展了维度,定义形式为`int a[3][4]`,按行优先顺序存储。字符数组用于存储字符串,初始化时需添加结束符`\0`。此外,介绍了字符串处理函数,如`strcat()`、`strcpy()`、`strcmp()` 和 `strlen()`,用于拼接、复制、比较和计算字符串长度。
|
3月前
|
编译器 C语言
【C语言小知识】ctype.h系列的字符函数
【C语言小知识】ctype.h系列的字符函数
|
3月前
|
C语言
【C语言篇】字符和字符串以及内存函数详细介绍与模拟实现(下篇)
perror函数打印完参数部分的字符串后,再打印⼀个冒号和⼀个空格,再打印错误信息。
61 0
|
3月前
|
存储 安全 编译器
【C语言篇】字符和字符串以及内存函数的详细介绍与模拟实现(上篇)
当然可以用scanf和printf输入输出,这里在之前【C语言篇】scanf和printf万字超详细介绍(基本加拓展用法)已经讲过了,这里就不再赘述,主要介绍只针对字符的函数.
54 0
|
4月前
|
存储 缓存 C语言
【C语言】字符函数,字符串函数,内存函数
C语言中的字符串函数和内存函数
54 0
【C语言】字符函数,字符串函数,内存函数