开发者社区 问答 正文

不用数组输出一个数的逆序,这个程序问题所在

//逆序输出一个数

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int reverse(int number);
int main()
{
    int number;
    printf("Please input a number: ");
    scanf("%d",&number);
    int new_number = reverse(number);
    printf("%d\n",new_number);
    system("pause");
    return 0;
}

int reverse(int number)
{
    int number_new = 0;
    int size_of_number = 0;
    int temp = number;
    while (temp / 10)
    {
        size_of_number++;
        temp /= 10;
    }
    for (int i = 1,j = size_of_number; i <= size_of_number, j >= 1; i++, j--)
    {
        number_new += (int)pow((double) 10,i-1)*(number % (int)pow((double)10,j));  
        number -= (int)pow((double)10,j) * (number % (int)pow((double)10,j));
    }
    return number_new;
}

展开
收起
a123456678 2016-03-23 14:52:38 2064 分享 版权
1 条回答
写回答
取消 提交回答
  • int reverse(int number){
    int tem = number;
    int result = 0;
    while ( tem > 0) {
    result *= 10;
    result += tem % 10;
    tem /= 10;
    }
    return result;
    }

    2019-07-17 19:11:08
    赞同 展开评论
问答地址: