[PTA]习题6-6 使用函数输出一个整数的逆序数
Posted Spring-_-Bear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PTA]习题6-6 使用函数输出一个整数的逆序数相关的知识,希望对你有一定的参考价值。
[PTA]习题6-6 使用函数输出一个整数的逆序数
本题要求实现一个求整数的逆序数的简单函数。
函数接口定义:
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;
}
/* 你的代码将被嵌在这里 */
- 提交结果:
- 源码:
#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-6 使用函数输出一个整数的逆序数的主要内容,如果未能解决你的问题,请参考以下文章