[PTA]实验6-7 使用函数输出一个整数的逆序数

Posted Spring-_-Bear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PTA]实验6-7 使用函数输出一个整数的逆序数相关的知识,希望对你有一定的参考价值。

本题要求实现一个求整数的逆序数的简单函数。

函数接口定义:

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
  • 提交结果:

在这里插入图片描述

  • 源码:
#include <stdio.h>
#include<math.h>

int reverse(int number);

int main()
{
    int n;

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

    return 0;
}

/* 你的代码将被嵌在这里 */
int reverse(int number)
{
    int sum = 0;
    int flag = 1;   // flag=1表示number为正数,flag=0表示number为负数
    int count = 0; // count为

    if (number < 0)
    {
        number = -number;
        flag = 0;
    }

    // 获得数字number的位数
    int temp = number;
    while (temp != 0)
    {
        temp /= 10;
        count++;
    }

    // 将number逆序,并求得最终结果sum
    while (number != 0)
    {
        // number的最后一位数字
        int lastNumber = number % 10;
        // 例如:number=123时,其逆序数321 = 3*10² + 2¹ + 1*10⁰,item为其中的某一项
        int item = lastNumber * pow(10, count - 1);
        sum += item;
        // number位数减一
        number /= 10;
        count--;
    }

    if (flag == 0)
    {
        sum = -sum;
    }

    return sum;
}

以上是关于[PTA]实验6-7 使用函数输出一个整数的逆序数的主要内容,如果未能解决你的问题,请参考以下文章

[PTA]实验7-1-3 将数组中的数逆序存放

PTA题目集导航

[PTA]实验5-9 使用函数输出水仙花数

[PTA]练习7-3 将数组中的数逆序存放

PTA 7-14 逆序输出数的各位数字 (10分)

[PTA]实验6-5 使用函数输出指定范围内的Fibonacci数