猫史档案馆


10进制转任意(?)进制

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


#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;
		switch(q_int){
			case 0:
				q_ch='0';
				break;
			case 1:
				q_ch='1';
				break;
			case 2:
				q_ch='2';
				break;
			case 3:
				q_ch='3';
				break;
			case 4:
				q_ch='4';
				break;
			case 5:
				q_ch='5';
				break;
			case 6:
				q_ch='6';
				break;
			case 7:
				q_ch='7';
				break;
			case 8:
				q_ch='8';
				break;
			case 9:
				q_ch='9';
				break;
			case 10:
				q_ch='A';
				break;
			case 11:
				q_ch='B';
				break;
			case 12:
				q_ch='C';
				break;
			case 13:
				q_ch='D';
				break;
			case 14:
				q_ch='E';
				break;
			case 15:
				q_ch='F';
				break;
			case 16:
				q_ch='G';
				break;
			case 17:
				q_ch='H';
				break;
			case 18:
				q_ch='I';
				break;
			case 19:
				q_ch='J';
				break;
			case 20:
				q_ch='K';
				break;
			case 21:
				q_ch='L';
				break;
			case 22:
				q_ch='M';
				break;
			case 23:
				q_ch='N';
				break;
			case 24:
				q_ch='O';
				break;
			case 25:
				q_ch='P';
				break;
			case 26:
				q_ch='Q';
				break;
			case 27:
				q_ch='R';
				break;
			case 28:
				q_ch='S';
				break;
			case 29:
				q_ch='T';
				break;
			case 30:
				q_ch='U';
				break;
			case 31:
				q_ch='V';
				break;
			case 32:
				q_ch='W';
				break;
			case 33:
				q_ch='X';
				break;
			case 34:
				q_ch='Y';
				break;
			case 35:
				q_ch='Z';
				break;
		}
		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;
		switch(q_int){
		case 0:
			q_ch='0';
			break;
		case 1:
			q_ch='1';
			break;
		case 2:
			q_ch='2';
			break;
		case 3:
			q_ch='3';
			break;
		case 4:
			q_ch='4';
			break;
		case 5:
			q_ch='5';
			break;
		case 6:
			q_ch='6';
			break;
		case 7:
			q_ch='7';
			break;
		case 8:
			q_ch='8';
			break;
		case 9:
			q_ch='9';
			break;
		case 10:
			q_ch='A';
			break;
		case 11:
			q_ch='B';
			break;
		case 12:
			q_ch='C';
			break;
		case 13:
			q_ch='D';
			break;
		case 14:
			q_ch='E';
			break;
		case 15:
			q_ch='F';
			break;
		case 16:
			q_ch='G';
			break;
		case 17:
			q_ch='H';
			break;
		case 18:
			q_ch='I';
			break;
		case 19:
			q_ch='J';
			break;
		case 20:
			q_ch='K';
			break;
		case 21:
			q_ch='L';
			break;
		case 22:
			q_ch='M';
			break;
		case 23:
			q_ch='N';
			break;
		case 24:
			q_ch='O';
			break;
		case 25:
			q_ch='P';
			break;
		case 26:
			q_ch='Q';
			break;
		case 27:
			q_ch='R';
			break;
		case 28:
			q_ch='S';
			break;
		case 29:
			q_ch='T';
			break;
		case 30:
			q_ch='U';
			break;
		case 31:
			q_ch='V';
			break;
		case 32:
			q_ch='W';
			break;
		case 33:
			q_ch='X';
			break;
		case 34:
			q_ch='Y';
			break;
		case 35:
			q_ch='Z';
			break;
	}
		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;
}

www

有亿亿亿点长

 


回复

上一页1 页 / 共 1下一页
学习GMS2的星烬有多辣寄学习GMS2的星烬有多辣寄

转不了负进制www

点赞0


评论


AlcalaAlcala

好像没这么麻烦(doge)

点赞0


评论