前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 版 C 语言经典 100 例(26 - 30)

Java 版 C 语言经典 100 例(26 - 30)

作者头像
村雨遥
发布2020-07-02 17:00:41
3230
发布2020-07-02 17:00:41
举报
文章被收录于专栏:JavaParkJavaPark

1. 实例 26

1.1 题目

利用递归方法求 5!

1.2 思路

  1. 当 、 时,,
  2. 当 时,

1.3 代码

代码语言:javascript
复制
/**
 * @ClassName : TwentySix
 * @Author : cunyu
 * @Date : 2020/6/23 20:51
 * @Version : 1.0
 * @Description : 实例 26
 **/

public class TwentySix {
    public static void main(String[] args) throws Exception {
        for (int i = 0; i < 6; i++) {
            System.out.format("%d! = %d\n", i, fact(i));
        }
    }

    /**
     * @param n 整数 n
     * @return 整数 n 的阶乘
     * @Description 求 n 的阶乘
     * @date 2020/6/23 20:54
     * @author cunyu1943
     * @version 1.0
     */
    public static int fact(int n) {
        int sum;
        if (n == 1 || n == 0) {
            sum = 1;
        } else {
            sum = n * fact(n - 1);
        }
        return sum;
    }
}

1.4 结果

代码语言:javascript
复制
0! = 1
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120

2. 实例 27

2.1 题目

将所输入的 5 个字符,以相反顺序打印出来。

2.2 思路

见代码注释即可

2.3 代码

代码语言:javascript
复制
import java.util.Scanner;

/**
 * @ClassName : TwentySeven
 * @Author : cunyu
 * @Date : 2020/6/23 22:58
 * @Version : 1.0
 * @Description : 实例 27
 **/

public class TwentySeven {
    public static void main(String[] args) throws Exception {
        Scanner input = new Scanner(System.in);
        System.out.println("输入五个字符");
        // 将输入的字符串转换为字符数组
        char[] charArray = input.next().toCharArray();
        System.out.println("逆序输出");
        // 逆序输出
        for (int i = charArray.length - 1; i >= 0; i--) {
            System.out.format("%c", charArray[i]);
        }
    }
}

2.4 结果

代码语言:javascript
复制
输入五个字符
qwert
逆序输出
trewq

3. 实例 28

3.1 题目

有 5 个人坐在一起,问第五个人多少岁?他说比第 4 个人大 2 岁。问第 4 个人岁数,他说比第 3 个人大 2 岁。问第三个人,又说比第 2 人大两岁。问第 2 个人,说比第一个人大两岁。最后问第一个人,他说是 10 岁。请问第五个人多大?

3.2 思路

假设第 5 个人为 岁,则第 4 个人为 岁,第 3 个人为 岁,以此类推,第一个人应该是 岁,而第一个人为 10 岁,所以

3.3 代码

代码语言:javascript
复制
/**
 * @ClassName : TwentyEight
 * @Author : cunyu
 * @Date : 2020/6/23 21:33
 * @Version : 1.0
 * @Description : 实例 28
 **/

public class TwentyEight {
    public static void main(String[] args) throws Exception {
        int age;
        age = 4 * 2 + 10;
        System.out.println("第 5 个人年龄是:" + age);
    }
}

3.4 结果

代码语言:javascript
复制
第 5 个人年龄是:18

4. 实例 29

4.1 题目

给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

4.2 思路

对数进行分解,然后再根据各位结果进行判断

4.3 代码

代码语言:javascript
复制
import java.util.Scanner;

/**
 * @ClassName : TwentyNine
 * @Author : cunyu
 * @Date : 2020/6/23 22:37
 * @Version : 1.0
 * @Description : 实例 29
 **/

public class TwentyNine {
    public static void main(String[] args) throws Exception {
        int a, b, c, d, e;
        Scanner input = new Scanner(System.in);
        System.out.println("输入不多于 5 位的正整数");
        int num = input.nextInt();

        // 分解出个十百千万位
        a = num / 10000;
        b = num % 10000 / 1000;
        c = num % 1000 / 100;
        d = num % 100 / 10;
        e = num % 10;
        if (a != 0) {
            System.out.format("5 位数,逆序 %d%d%d%d%d\n", e, d, c, b, a);
        } else if (b != 0) {
            System.out.format("4 位数,逆序 %d%d%d%d\n", e, d, c, b);
        } else if (c != 0) {
            System.out.format("3 位数,逆序 %d%d%d\n", e, d, c);
        } else if (d != 0) {
            System.out.format("2 位数,逆序 %d%d%\n", e, d);
        } else {
            System.out.format("1 位数,逆序 %d%\n", e);
        }
    }
}

4.4 结果

代码语言:javascript
复制
输入不多于 5 位的正整数
56324
5 位数,逆序 42365

5. 实例 30

5.1 题目

一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位相同,十位与千位相同。

5.2 思路

类似于实例 29,将一个数进行分解出各位

5.3 代码

代码语言:javascript
复制
import java.util.Scanner;

/**
 * @ClassName : Thirty
 * @Author : cunyu
 * @Date : 2020/6/23 22:47
 * @Version : 1.0
 * @Description : 实例 30
 **/

public class Thirty {
    public static void main(String[] args) throws Exception {
        Scanner input = new Scanner(System.in);
        System.out.println("输入一个 5 位数");
        int num = input.nextInt();
        // 分解出个十百千万位
        int a, b, c, d, e;
        a = num / 10000;
        b = num % 10000 / 1000;
        c = num % 1000 / 100;
        d = num % 100 / 10;
        e = num % 10;

        if (a == e && b == d) {
            System.out.println("是回文数");
        } else {
            System.out.println("不是回文数");
        }
    }
}

5.4 结果

代码语言:javascript
复制
输入一个 5 位数
12321
是回文数
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 村雨遥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 实例 26
    • 1.1 题目
      • 1.2 思路
        • 1.3 代码
          • 1.4 结果
          • 2. 实例 27
            • 2.1 题目
              • 2.2 思路
                • 2.3 代码
                  • 2.4 结果
                  • 3. 实例 28
                    • 3.1 题目
                      • 3.2 思路
                        • 3.3 代码
                          • 3.4 结果
                          • 4. 实例 29
                            • 4.1 题目
                              • 4.2 思路
                                • 4.3 代码
                                  • 4.4 结果
                                  • 5. 实例 30
                                    • 5.1 题目
                                      • 5.2 思路
                                        • 5.3 代码
                                          • 5.4 结果
                                          领券
                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档