您的位置:首页 > 编程语言 > C语言/C++

C语言之 进制转换(循环)

2015-08-21 20:51 337 查看
#include<iostream>
using namespace std;
void conversion( unsigned N ,const int d,int mod[100],int *pcount);

int main(void){
	//将十进制整数(N)转换为d(2,8,16)进制
	//算法思路:每次 N div d 之后的余数,直到N 为0,反向
	//测试用例{0,1,2504}
	
	int N = 1348;
	const int d = 8;
	int mod[100]={0};//用来存储 N%d
	int count = 0 ;//记录数组中的元素个数
	int *pcount = &count;

	conversion(N,d,mod,pcount);
	printf("十进制的整数%d转换为%d进制后为:",N,d);
	count--;
	
	while(count>=0){//反向输出数组中的所存的元素,也就是转换后的结果
		
		printf("%d",mod[count]);
		count--;
		
	}

	return 0;
}

void conversion( unsigned int N ,const int d,int mod[100],int *pcount){
	
	while( N != 0){
	mod[*pcount] = N % d;
	
	*pcount= *pcount+1;
	N = N/d;
	
	}

	return ;
   

}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: