• 求出整数的逆序


    输入一个整数,输出倒置,例如输入123456,输出654321

    1 递归,打印出来

    2 非递归,返回结果

    3 非递归,推荐使用

    1 递归,打印出来

     1 #define _CRT_SECURE_NO_WARNINGS
     2 
     3 #include<stdio.h>
     4 #include<stdlib.h>
     5 
     6 void dao(int num)
     7 {
     8     if (num < 10)
     9     {
    10         printf("%d", num);
    11     }
    12     else
    13     {
    14         printf("%d", num % 10);
    15         return dao(num / 10);
    16     }
    17 }
    18 
    19 main()
    20 {
    21     int num;
    22 
    23     scanf("%d", &num);
    24 
    25     dao(num);
    26     
    27     system("pause");
    28 }

    2 非递归,返回结果

     1 #define _CRT_SECURE_NO_WARNINGS
     2 
     3 #include<stdio.h>
     4 #include<stdlib.h>
     5 
     6 int get10n(int n)//传入n,输出10的n次方
     7 {
     8     if (n == 0)//递归,最终返回一个值,因此return一个值
     9     {
    10         return 1;
    11     }
    12     else
    13     {
    14         return get10n(n - 1) * 10;
    15     }
    16 }
    17 
    18 int dao(int num, int wei)//传入num,位数,求出倒置
    19 {
    20     int n;
    21     int last = 0;
    22 
    23     while (num)
    24     {
    25         n = num % 10;//最后一位
    26         num /= 10;//去掉最后一位
    27         last += n*get10n(wei - 1);//乘以10的n次方,wei需要减去1
    28         wei--;
    29     }
    30 
    31     return last;
    32 }
    33 
    34 int getwei(int num)//求出位数
    35 {
    36     if (num < 10)//递归,最终返回一个值,因此return一个值
    37     {
    38         return 1;
    39     }
    40     else
    41     {
    42         return getwei(num / 10) + 1;
    43     }
    44 }
    45 
    46 main()
    47 {
    48     int num;
    49     int wei;
    50     int last;
    51 
    52     scanf("%d", &num);
    53 
    54     wei = getwei(num);//获得位数
    55 
    56     last = dao(num, wei);//倒置结果
    57 
    58     printf("last=%d", last);
    59 
    60     system("pause");
    61 }

    3 非递归,推荐使用

     1 #define _CRT_SECURE_NO_WARNINGS
     2 
     3 #include<stdio.h>
     4 #include<stdlib.h>
     5 
     6 main()
     7 {
     8     int num = 123345;
     9     int res = 0;
    10 
    11     while (num)
    12     {
    13         res *= 10;
    14         res += num % 10;
    15         num /= 10;
    16     }
    17 
    18     printf("res=%d
    ", res);
    19 
    20     system("pause");
    21 }
  • 相关阅读:
    Linux实时性分析-schedule-调度器
    中断解析
    网络商城-PrestaShop
    和学生的学习互动记录(10嵌)
    QQ记录
    Windows7硬盘安装Fedora16图文教程
    今目标登录时报网络错误E110
    vs环境配置——vs快捷键配置——vs插件配置——vs环境设置
    如何防止app接口被别人调用
    mvc4 找到多个与名为“xx”的控制器匹配的类型
  • 原文地址:https://www.cnblogs.com/denggelin/p/5479369.html
Copyright © 2020-2023  润新知