十进制转换为n进制:C语言实现

原始思路:

手写进制转换,除以n,取余,得商,再取余,直到商为0.

利用int型数组,倒序存储所得的每个余数

注意:循环求余时 i 多加了一次,i-1,一直取到 j 为0

/*
	利用数组
	将十进制转换为任意进制
*/
#include <stdio.h>
# define M 100
void change(int srcnum,int R)
{
	int i=0,j=0;		// 循环变量
	int a[M] = {0};	// 全部元素初始化为0
	while(srcnum)
	{
		a[i] = srcnum % R;
		srcnum /= R;
		i++;
	}

	for(j=i-1; j>=0; j--)	// 注意:i多加了一次,i-1,一直取到j为0
	{
		printf("%d",a[j]);
	}

	printf("\n");
} 
int main(void)
{
	int source = 0;		// 原数字
	int R = 0;			// 要转为R进制
	char confirm;       // 控制是否继续

	do
	{
		printf("请输入原数值: \n");
		scanf("%d", &source);
	
		printf("请输入转换的进制数: \n");
		scanf("%d", &R);
		while(getchar() != '\n');
	
		change(source,R);
		printf("想继续输入吗?Y/N: \n");
		scanf("%c", &confirm);
	}
	while('Y' == confirm || 'y' == confirm);

	return 0;
}

do{

}

while();

增强人机交互,计算结果后摁'Y' || 'y' 一直玩

【更改】匹配十进制以上的字母


                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值