编写将一个十进制数M转化成N进制数(2≤N≤16)的程序.

这是一个使用C语言编写的程序,它可以将任意十进制数M转换为2到16之间的任何进制数。程序通过循环除法将十进制数的每一位存储在数组中,并利用条件判断打印对应的数字或字母。转换后的进制数会以整齐的格式显示,并在转换过程中清空原有数据。示例中展示了如何将十进制数255转换为2到16进制。

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

1.  编写将一个十进制数M转化成N进制数(2≤N≤16)的程序。提示:转化成N进制数的各位数可以分别放在数组的各个元素中。

#include <stdio.h>
#include <stdlib.h>
#define N 16


void showjinzhi(int *a, int n,int q)
{
for (int i = 0; i < N; i++)
{
if ((i + 1) % 4 == 0)
{
printf(" ");  //每隔四个打印空格
}
if (a[i]>=10)   //超过10,打印字符
{
printf("%3c", a[i]+55);  //转换成字母
}
else
{
printf("%3d", a[i]);
}
a[i] = 0;  //打印完毕清空数据
}
printf("    %2d进制",q);
printf("\n");
}
void zhuanhuan(int *a,int num,int n,int be,int end)
{
for (int i = 2; i <=16;i++)
{
int k = num;
int x = N-1;  //从后往前存入
while (k)
{
a[x--] = k%i;
k /= i;
}
showjinzhi(a, n,i);  //显示进制信息,和清空数组
}
}


void main24354()
{
int a[N] = { 0 };
int num = 255;
zhuanhuan(a,num,N, 2, 16);
system("pause");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值