Aru 发表于 2017-10-24 16:20:18

整数的逆序

程序每次读入一个正整数N(N的位数小于10位),然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入70000,输出应该是7。

丶忘却的年少o 发表于 2017-10-24 16:59:54

你是要程序吗?我给不了,但是我给你思路,你自己写一下:
1. 输入数字的时候可以输入两个信息,一个是数字,一个是该数字的位数,并创建一个大小为位数的数组。
2. 假设 a = 7000, 搞个循环for,判断条件就是位数,再定义一个flag = 1做判断。
3. for里不断的进行b = a%10,将 b 存放入数组内,这样就可以做到倒叙放置。
4. 再定义for循环和flag = 0做判断,从数组里读取数,在满足 flag != 0 或者读取数不为0就将flag = 1并打印数字。这样,可以做到如10100这种数字的时候,中间的0可以打印。
思路就那样,当然效率有点低。可以把第4步的判断放入第3步,直接判断是末尾的0就不放入数组,那样,第4步可以直接打印。当然了,也可以直接第3步判断不是末尾0直接输出。动手试一下吧,加油

hacker.jin 发表于 2017-10-24 17:13:04

本帖最后由 hacker.jin 于 2017-10-24 17:48 编辑

#include <stdio.h>
long pow_10(int n);

int main()
{
      long num = 0;//输入的数字
      long new = 0;//处理后的数字
      scanf("%ld",&num);//获取输入的数字
      new=num;//先直接把输入的数字给新数字(计算数字的位数要用)
      int temp = 0;//数字的位数
      while(new /= 10)//计算数字的有多少位
        {
            temp++;                                                                        
        };
        new = 0;//重新吧新数字归零
        do{//自己理解,不解释
                new += (num % 10) * pow_10(temp--);
        }while(num /= 10);
        printf("%d\n",new);//打印
        return 0;

}

//计算10的n次方
long pow_10(int n)
{
        if(n <= 0){
                return 1;
        }
        long x = 10;
        while(--n)
        {
                x*=10;
        };
        return x;
}

hacker.jin 发表于 2017-10-24 17:13:49

纯数学计算,采纳的话晚上给你弄个字符串版

丶忘却的年少o 发表于 2017-10-24 20:41:03

hacker.jin 发表于 2017-10-24 17:13
#include
long pow_10(int n);



do{ } while 里可以直接 ( num%10 ) *pow(10, --temp); 吧?
思考了下好像不会出错,会吗?不会我就给采纳了哦!

Aru 发表于 2017-10-25 11:36:27

hacker.jin 发表于 2017-10-24 17:13
纯数学计算,采纳的话晚上给你弄个字符串版

{:9_232:}

hacker.jin 发表于 2017-10-27 09:25:21

丶忘却的年少o 发表于 2017-10-24 20:41
do{ } while 里可以直接 ( num%10 ) *pow(10, --temp); 吧?
思考了下好像不会出错,会吗?不会我就给采 ...

{:5_98:}我靠,我只是不想用外部库,全部自己实现而已,math。h里面有pow函数和pow10

丶忘却的年少o 发表于 2017-10-27 10:48:12

hacker.jin 发表于 2017-10-27 09:25
我靠,我只是不想用外部库,全部自己实现而已,math。h里面有pow函数和pow10

{:10_278:}人家不知道还有pow10

hacker.jin 发表于 2017-10-27 15:33:05

丶忘却的年少o 发表于 2017-10-27 10:48
人家不知道还有pow10

{:5_100:}   字符串版木有了

丶忘却的年少o 发表于 2017-10-27 15:41:37

hacker.jin 发表于 2017-10-27 15:33
字符串版木有了

{:10_330:}楼主表示很无奈
页: [1]
查看完整版本: 整数的逆序