關於數位顛倒--C語言描述

我有顆小粒的痣發表於2017-11-08

如果針對特定位數的整數的話,可以直接應用除法運算:

	int a = 1234, m = 0;
	for( int i = 0; i < 4; i++ ){
		m += a / Pow(10, 3 - i) * Pow(10, i);
		a -= a / Pow(10, 3 - i) * Pow(10, 3 - i);
	}

如果輸入任意整數的話,我們需要先判斷位數:


unsigned int a( unsigned int m){
	//判斷位數;
	int counter = 1;
	unsigned int n = m;
	while( n >= 10 ){
		counter ++;
		n = n / 10;
	}
	unsigned int newNum = 0;
	for( int i = 0; i < counter ; i ++ ){
		newNum += m / Pow(10, counter - 1 - i) * Pow(10, i);
		m -= m / Pow(10, counter - 1 - i) * Pow(10, counter - 1 - i);
	}
	return newNum;
}


相關文章