1161转进制(C语言)
2023-12-23 23:41:58
一:题目
二:思路分析
1.首先该题目让我们使用递归求十进制转其他进制
2.其次,我们要知道十进制转换为其他进制怎么转换,以例题所给的数据为例
由此图可以看出,十进制转换为其他进制,是辗转相除法,即这个数一直除以要转换的进制数,一直到商为零,然后逆序输出所有余数
3.用递归图表示为
4.分析到这里大致的代码已经有雏形了,还有一个问题是,在余数在1~9时,直接输出就可以,但是余数是10~15时,不可以直接输出,要转换为A~F,怎么转换呢?
三:代码
#include <stdio.h>
//1161转进制
void Func(int x, int m)
{
if (x == 0)
return;
else
{
Func(x / m,m);
if (x % m < 10)
printf("%d", x % m);
else
printf("%c", (char)(x % m + 55));
}
}
int main()
{
int x = 0, m = 0;
scanf("%d %d", &x, &m);
Func(x, m);
}
文章来源:https://blog.csdn.net/2301_80096514/article/details/135173634
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!