20250225-Rain
1. 判断
/*
1.
设计一个程序, 输入a,b,c三个整数, 输出最大的数.
(MIN_INT < a,b,c < MAX_INT)
*/
#include <iostream>
using namespace std;
int m_max(int x, int y);
int main(void)
{
int a, b, c;
int res;
cout << "Please input 'a' 'b' 'c'(space to separate): " << endl;
cin >> a >> b >> c;
// 依次比较最大值
res = m_max(m_max(a, b), c);
cout << "The max number is:" << res << endl;
return 0;
}
// 可以自定义比较函数
int m_max(int x, int y)
{
return x > y ? x : y;
}
也可以使用 C++ 内置的 max()
函数,效果一致
...
int main(void)
{
int a, b, c;
int res;
cout << "Please input 'a' 'b' 'c'(space to separate): " << endl;
cin >> a >> b >> c;
res = max(max(a, b), c);
cout << "The max number is:" << res << endl;
return 0;
}
2. 嵌套循环
/*
2.
求素数
设计一个程序, 输入N, 输出0~N之间的所有素数
(0<N<MAX_INT)
*/
#include <iostream>
using namespace std;
int main(void)
{
int N;
cout << "Please input 'N': " << endl;
cin >> N;
if (N <= 0)
{
// 如若不符合题目范围:报错、退出程序
cout << "Error!" << endl;
return 0;
}
// 假设 1 不是素数
for(int i = 2; i <= N; i++)
{
// 素数标志,初始化为 1
int is_prime = 1;
// 从 2 开始,依次作为除数,求余
// 此处如果 i 是素数,它一定有一个小于或等于其平方根的因数,只需要判断有没有最小的的因数即可
for(int j = 2; j * j < i; j++)
{
// 若可以整除,余数为 0,则素数标志变更为 0
if(i % j == 0)
{
is_prime = 0;
break;
}
}
// 如果标志位未改变,输出结果
if(is_prime == 1)
{
cout << i << endl;
}
}
return 0;
}
3. 简单循环
注意距离的计算包括 下降距离 和 回弹后上升距离
/*
4.
云海学长为了探究神秘的物理现象, 从高楼抛下一个弹球 但由于高空抛物被警察抓了, 请各位小伙伴完
成他未完成的心愿
小球从某一高度落下,每次落地后反跳回原来高度的一半,再落下。
输入弹球的初始高度M和回弹次数N, 输出弹球第N次回弹后的高度 和达到该高度后所经过的距离(保留两位小
数)
(0<M<2000, 0<N<50)
*/
#include <iostream>
#include <ios>
#include <iomanip>
using namespace std;
int main(void)
{
double M;
int N;
cout << "Please input 'M' 'N'(space to separate): " << endl;
cin >> M >> N;
if (M <= 0 || M >= 2000 || N <= 0 || N >= 50)
{
// 如若不符合题目范围:报错、退出程序
cout << "Error!" << endl;
return 0;
}
double height = M;
double distance = 0;
for(int i = 0; i < N; i++)
{
// 下落高度距离
distance = distance + height;
height = height / 2;
// 回弹高度距离
distance = distance + height;
}
// 设定输出格式
cout << fixed << setprecision(2) << "The final height is: " << height << endl;
cout << fixed << setprecision(2) << "The total distance is: " << distance << endl;
return 0;
}
Last updated