完美偶数判断:C/C++编程实现

问题描述:

完美偶数指的是,如果一个数本身是偶数,且这个数是偶数位的数,且这个数的各个位也是偶数,那么这个数就可以称为完美偶数;比如:28就是完美偶数,而246就不是,因为246是一个3位数。

请你编程求出,从键盘读入的n个数中,哪些数是完美的偶数,输出他们。

输入描述:

第一行是一个整数n(n<=100) 第二行是n个整数(这些整数都是1~9999范围内的整数)

输出描述:

按顺序输出这n个数中的完美偶数,每个数一行

用例输入:

5
26 4286 228 32 1280

用例输出:

26
4286

代码实现:

#include <iostream>
using namespace std;

bool isPerfectEven(int num) {
    if (num % 2 != 0) {
        return false; // 不是偶数
    }
    int digits = 0;
    int temp = num;
    while (temp > 0) {
        digits++;
        temp /= 10;
    }
    if (digits % 2 != 0) {
        return false; // 不是偶数位数
    }
    temp = num;
    while (temp > 0) {
        if ((temp % 10) % 2 != 0) {
            return false; // 个位不是偶数
        }
        temp /= 10;
    }
    return true; // 满足所有条件,是完美偶数
}

int main() {
    int n;
    cin >> n;
    int num;
    for (int i = 0; i < n; i++) {
        cin >> num;
        if (isPerfectEven(num)) {
            cout << num << endl;
        }
    }
    return 0;
}

代码说明:

  1. isPerfectEven(int num) 函数用于判断一个数是否为完美偶数。
  2. 函数首先判断输入的数是否为偶数,如果不是,则直接返回 false
  3. 然后通过循环计算数字的位数,并判断位数是否为偶数,如果不是,则返回 false
  4. 最后,通过循环判断每个位是否都是偶数,如果不是,则返回 false
  5. 如果所有条件都满足,则返回 true,表示该数是完美偶数。
  6. main 函数中,首先读取输入的数字个数 n,然后循环读取每个数字,并调用 isPerfectEven 函数判断是否为完美偶数,如果是,则输出该数字。

优化建议:

  1. 优化代码逻辑,例如可以将判断偶数、判断偶数位数、判断个位是否偶数的逻辑整合到一个循环中,提高代码效率。
  2. 添加注释,解释代码逻辑,方便他人理解。
  3. 考虑使用更简洁的代码风格,例如使用 for 循环代替 while 循环等。
  4. 可以增加一些测试用例,确保代码逻辑正确。
  5. 考虑使用更强大的数据结构和算法,例如使用数组或链表存储输入的数字,提高代码效率。

希望以上内容对你有所帮助!如果你还有其他问题,请随时提出。

完美偶数判断:C/C++编程实现

原文地址: https://www.cveoy.top/t/topic/qlay 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录