Exercise 6-6 Use a function to output the reverse number of an integer (20 points)

This question requires the realization of a simple function to find the inverse ordinal number of an integer.

Function interface definition:

int reverse( int number );

The function reversemust return numberthe reverse number of the integer passed in by the user .

Sample referee test procedure:

#include <stdio.h>

int reverse( int number );

int main()
{
    
    
    int n;

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

    return 0;
}

/* 你的代码将被嵌在这里 */

Input sample:

12340

Sample output:

-4321

answer:

int reverse( int number )
{
    
    
	int i; //循环变量 
	int flag = 0; //中介,判断有没有变过号 
	int sum = 0; //逆序总和 
	int t; //存放number每一位数 
	if (number < 0) //如果要逆序的数小于 0 ,变成正数好算一点,然后 flag  赋值为 1 ,表示 变过号,等等需要变回来 
	{
    
    
		number = -number;
		flag = 1;
	}
	while (number) //当number不等于 0 时循环 
	{
    
    
		t = number % 10; // 模10 取最后一位数 
		sum = sum * 10 + t; //按公式逆序运算 
		number /= 10; //整除10 把最后一位除掉 
	}
	if (flag == 1) return -sum; //如果前面变过号 flag 会变成 1 这个时候就需要变回来 
	else return sum; //没有直接返回给 reverse 就好了 
}

Guess you like

Origin blog.csdn.net/qq_44715943/article/details/114654596