C++ 代码示例:验证歌德巴赫猜想、成绩评级和函数重载
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,实现了分别求三个整数和三个实数中的最小值的功能。这样可以提高代码的复用性和可读性,让代码更加灵活。
原文地址: https://www.cveoy.top/t/topic/pgca 著作权归作者所有。请勿转载和采集!