进制转换 N进制->10->M进制

#include <iostream>
#include <algorithm> 
#include <stdio.h>

#include<cstdlib>
#include<cstdio>
using namespace std;

int main()
{
	long long   t10[100];
	char  s16[100][100000];
	char  s8 [100][100000];
	//输入
	int n ;
	cin>>n;
	for(int i=0 ; i<n ; ++i){
		scanf("%s",&s16[i]);
	}
		
	//16进制转10 
	char * stop ;
	
	for(int i=0 ; i<n ; ++i){
		t10[i] = strtol(s16[i], &stop , 16);
	}


	//10——8进制 
	
	for(int i=0 ; i<n ; ++i){
		itoa(t10[i], s8[i], 8);
	}
	
	for(int i =0 ;i<n ;++i){
		int c=0; 
		while(s8[i][c])++c; //字符个数 
		for(int j=0 ; j<=c ; ++j){
			cout<<s8[i][j];
		}cout<<endl;
	} 

	return 0;

}

  

posted @ 2020-04-03 18:45  Stephen~Jixing  阅读(377)  评论(0)    收藏  举报