C++ 代码示例:验证歌德巴赫猜想、成绩评级和函数重载

本文提供三个 C++ 代码示例,分别用于验证歌德巴赫猜想、根据分数输出成绩等级,以及通过函数重载求三个数中的最小值。代码简洁易懂,并附带详细的注释解释,方便学习和参考。

问题 1:验证歌德巴赫猜想

描述: 一个大偶数 (>7) 可分解成两个素数之和。

要求: 从键盘输入一个大于 7 的偶数,输出分解出的两个素数。

C++ 代码:

#include <iostream>
#include <cmath>

bool isPrime(int num) {
    if (num <= 1) {
        return false;
    }
    for (int i = 2; i <= sqrt(num); i++) {
        if (num % i == 0) {
            return false;
        }
    }
    return true;
}

void goldbachConjecture(int num) {
    for (int i = 2; i <= num / 2; i++) {
        if (isPrime(i) && isPrime(num - i)) {
            std::cout << i << ' ' << num - i << std::endl;
            break;
        }
    }
}

int main() {
    int num;
    std::cout << "请输入一个大于 7 的偶数:";
    std::cin >> num;
    while (num <= 7 || num % 2 != 0) {
        std::cout << "输入错误,请重新输入一个大于 7 的偶数:";
        std::cin >> num;
    }
    goldbachConjecture(num);
    return 0;
}

问题 2:成绩评级

描述: 已知一门课学生的成绩,60 分以下为不及格,60~69 为及格,70~79 为中,80~89 为良好,90 分及其以上为优秀。

要求: 实现输入一个分数,输出相应的等级。

C++ 代码:

#include <iostream>

void getGrade(int score) {
    if (score < 60) {
        std::cout << "不及格" << std::endl;
    } else if (score >= 60 && score < 70) {
        std::cout << "及格" << std::endl;
    } else if (score >= 70 && score < 80) {
        std::cout << "中" << std::endl;
    } else if (score >= 80 && score < 90) {
        std::cout << "良好" << std::endl;
    } else {
        std::cout << "优秀" << std::endl;
    }
}

int main() {
    int score;
    std::cout << "请输入一个分数:";
    std::cin >> score;
    getGrade(score);
    return 0;
}

问题 3:函数重载

描述: 编写一个通过重载求三个数中比较小的函数,分别求三个整数和三个实数中的最小数,并简述重载的作用。

C++ 代码:

#include <iostream>

int findMin(int num1, int num2, int num3) {
    int min = num1;
    if (num2 < min) {
        min = num2;
    }
    if (num3 < min) {
        min = num3;
    }
    return min;
}

double findMin(double num1, double num2, double num3) {
    double min = num1;
    if (num2 < min) {
        min = num2;
    }
    if (num3 < min) {
        min = num3;
    }
    return min;
}

int main() {
    int num1, num2, num3;
    std::cout << "请输入三个整数:";
    std::cin >> num1 >> num2 >> num3;
    int minInt = findMin(num1, num2, num3);
    std::cout << "最小整数为:" << minInt << std::endl;

    double num4, num5, num6;
    std::cout << "请输入三个实数:";
    std::cin >> num4 >> num5 >> num6;
    double minDouble = findMin(num4, num5, num6);
    std::cout << "最小实数为:" << minDouble << std::endl;

    return 0;
}

重载的作用: 重载是 C++ 中的一种重要特性,它允许定义多个同名函数,但参数类型或参数个数不同,实现对不同类型或不同个数的参数进行相应的处理。在上述代码中,通过重载函数 findMin,实现了分别求三个整数和三个实数中的最小值的功能。这样可以提高代码的复用性和可读性,让代码更加灵活。

C++ 代码示例:验证歌德巴赫猜想、成绩评级和函数重载

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

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