1. 程式人生 > >(PTA程式設計題解答)使用函式輸出一個整數的逆序數

(PTA程式設計題解答)使用函式輸出一個整數的逆序數

原題如下:

6-1 使用函式輸出一個整數的逆序數 (20 分)

本題要求實現一個求整數的逆序數的簡單函式。

函式介面定義:

int reverse( int number );

其中函式reverse須返回使用者傳入的整型number的逆序數。

裁判測試程式樣例:

#include <stdio.h>

int reverse( int number );

int main()
{
    int n;

    scanf("%d", &n);
    printf("%d\n", reverse(n));

    return 0;
}

/* 你的程式碼將被嵌在這裡 */

輸入樣例:

-12340

輸出樣例:

-4321

答案解析如下:

int reverse(int number)
{
	int fuhao,newnumber=0;//宣告正負號變數和轉換後的新數字
	if(number<0)//如果是負數,標記符號,並轉成整數方便處理,此處fuhao=-1表示負號,1表示正號
	{
		fuhao=-1;
		number=-number;
	}
	else
	{
		fuhao=1;
	}
	while(number>0)//將此數逐位分離,並逐位賦值給倒序數
	{
		newnumber+=number%10;
		number/=10;
		if(number>0)newnumber*=10;
	}
	return newnumber*fuhao;//新數字和符號相乘得到結果
}