猫史档案馆


【C++】转换进制【还是长而且限制很多】

用户:学习GMS2的星烬有多辣寄学习GMS2的星烬有多辣寄查看:2 回复:2 评论:2 创建时间:2021-07-23T22:05:39


#include <iostream> 
using namespace std;
int main(){
	int n,r,i=0;
	char q_ch;
	int q_int;
	int length=0;
	char arr[999999];
	//声明变量 
	cin >> n >> r;
	//读入数据 
	do{
		q_int = n%r;
		if(q_int > 9){
			q_ch='A'+q_int-1;
		}else{
			q_ch='1'+q_int-1;
		}
		cout << "i:" << i << endl;
		cout << "q_int:" << q_int << endl;
		cout << "q_ch:" << q_ch << endl;
		arr[i]=q_ch;
		n/=r;
		i++;
		length++;
		cout << endl << endl;
	}while(n>=r);
	//循环取余 
	if(q_int+1 != r){
		q_int = n%r;
		if(q_int > 9){
			q_ch='A'+q_int-1;
		}else{
			q_ch='1'+q_int-1;
		}
		cout << "i:" << i << endl;
		cout << "q_int:" << q_int << endl;
		cout << "q_ch:" << q_ch << endl;
		arr[i]=q_ch;
		n/=r;
		i++;
		length++;
		cout << endl << endl;
	}
	//如果需要,补充一次循环
	for(int j = length-1;j>=0;j--){
		cout << arr[j];
	}
	//输出结果 
	return 0;
}

稍微优化了一些

10进制数N转R进制数

R为非负整数,且R>1

N也为非负整数

转换进制后的数的数位不得超过999999


回复

上一页1 页 / 共 1下一页
一Q一一Q一

室长,我学的是python

点赞0


评论


学习GMS2的星烬有多辣寄学习GMS2的星烬有多辣寄

cao有BUG

点赞0


评论