这次作业够简单就不 全写了,吧一些难的给你分析分析
收集瓶盖赢大奖
某饮料公司最近推出了一个“收集瓶盖赢大奖”的活动:如果你拥有10个印有“幸运”、或20个印有“鼓励”的瓶盖,就可以兑换一个神秘大奖。现分别给出你拥有的印有“幸运”和“鼓励”的瓶盖数,判断是否可以去兑换大奖。若可以兑换大奖,输出1,否则输出0。
判断一个数能否同时被3和5整除
判断能否被3,5,7整除
这道题就难喽,费了我好长时间!
这里是代码的逐一分析哦:
#include <iostream>
:包含了 C++ 标准库中用于输入输出的头文件。
using namespace std;
:使用了std
命名空间,避免在代码中频繁使用std::
前缀。
int main() {
:程序的入口点,main
函数开始。
int n;
:定义一个整数变量n
,用于存储用户输入的值。
cin >> n;
:从标准输入流中读取用户输入的整数,并将其存储在变量n
中。
接下来是主要的逻辑部分:
if (n % 3 == 0 and n % 5 == 0 and n % 7 == 0)
:如果输入的整数同时能被3、5、7整除,则输出 "3 5 7"。
else if (n % 3 == 0 or n % 5 == 0 or n % 7 == 0)
:如果输入的整数不能同时被3、5、7整除,进入下一个判断。
if (n % 3 == 0)
:如果能被3整除,进入内部判断。if (n % 5 == 0)
:如果同时能被3和5整除,进入内部判断。if (n % 7 == 0)
:如果同时能被3、5和7整除,输出 "3 5 7"。else
:如果不能同时被7整除,输出 "3 5"。else if (n % 7 == 0)
:如果能被3和7整除,输出 "3 7"。else
:如果只能被3整除,输出 "3".
else if (n % 5 == 0)
:如果不能被3整除但能被5整除,进入内部判断。if (n % 7 == 0)
:如果能被5和7整除,输出 "5 7"。else
:如果只能被5整除,输出 "5".
else
:如果不能被3、5、7整除,输出 "7"。
else
:如果输入的整数不满足以上条件,输出 "n"。
最后,
return 0;
表示程序正常结束并返回值0。有一门课不及格的学生
这里进解释第一个if的这一行代码
解释如下:
在这段代码中,条件语句
if ((a < 60 && b >= 60) || (a >= 60 && b < 60))
是一个逻辑表达式,它包含了两个条件组合,通过逻辑运算符 &&
(逻辑与)和 ||
(逻辑或)进行组合。让我们分解这个条件语句:
(a < 60 && b >= 60)
:这个条件表示当a
小于60且b
大于等于60 时为真。
(a >= 60 && b < 60)
:这个条件表示当a
大于等于60且b
小于60 时为真。
整个条件语句是通过逻辑或运算符
||
连接起来的,这意味着只要其中任意一个条件为真,整个条件语句就为真。因此,整个条件语句
if ((a < 60 && b >= 60) || (a >= 60 && b < 60))
的含义是:如果 a
小于60且 b
大于等于60,或者 a
大于等于60且 b
小于60,则执行 cout << "1";
,否则执行 cout << "0";
。换句话说,这行代码的作用是判断
a
和 b
的取值,如果一个小于60而另一个大于等于60,就输出 "1",否则输出 "0"。骑车与走路
这个代码非常有意思啊,可算碰到一个简单的题了,之前的题给我脑袋瓜给我转冒烟了!
这个就不解释了,太简单了!
分段函数
哇,当我看到 这个题,我直接傻掉了
我开始想,得变量三个数,让后吧关系式写出来,但是我发现,写判断的时候太冗杂了吧,不够简单。
之后我又想到,其实可以这样子,写个范围在这里面。就是这个一段的函数,
我这脑子,转速有点慢请大家接受,做完我才发现,这就是个分段函数啊!
要分段数算,所以说,代码如下:
超级简单!!
解释如下:
#include <iostream>
:包含了输入输出流的头文件。
using namespace std;
:使用了标准命名空间std,这样就可以直接使用标准库中的函数和对象,而不需要在每个函数前面加上std::
。
int main() {
:程序的入口点,main函数开始。
int N;
:定义了一个整数变量N,用来存储输入的值。
cin >> N;
:从标准输入流中读取一个整数,并将其存储在变量N中。
if (0 <= N && N < 5)
:如果N在0到5之间(不包括5),则执行以下代码块。cout << -N + 2;
:计算-N+2的值,并输出结果。
else if (5 <= N && N < 10)
:如果N在5到10之间(不包括10),则执行以下代码块。cout << 2 - 3 * (N - 3) * (N - 3);
:计算2-3*(N-3)*(N-3)的值,并输出结果。
else if (10 <= N && N < 20)
:如果N在10到20之间(不包括20),则执行以下代码块。cout << N * N - 1;
:计算N的平方减1的值,并输出结果。
return 0;
:返回0,表示程序正常结束。
}
:main函数结束。
计算邮资
哇,又是一个烧脑的问题。
其实也很简单,原理就是这样子的。
先判断输入的数字减去1000,是否小于0,再判断是否加急,那么就可以得到总价。
如果是小于0,说明重量大于1000,既然如此,我们就除以500,就得出了需要有几段500g,要么有余数,要么没有余数,无余数就是算出的几段*4 ,有余数的话就再加上一个4不就ok了?
那么我们直接吧基本的价钱+超过的价钱+加急的价钱 = 总价钱
致辞,我们就算出来了!
代码如下:
注:我的代码你可能看不懂,那就看解释跟着来!
解释如下:
#include <iostream>
:包含了输入输出流的头文件。
#include <cmath>
:包含了数学函数的头文件,尽管在这个程序中并没有使用到。
using namespace std;
:使用了标准命名空间std,这样就可以直接使用标准库中的函数和对象,而不需要在每个函数前面加上std::
。
int main() {
:程序的入口点,main函数开始。
int weight, jiben = 8, chao = 4, jia = 5, all;
:定义了整数变量weight(重量)、jiben(基本运费)、chao(超出部分的运费)、jia(加急费用)和all(总运费)。
char ji;
:定义了一个字符变量ji,用来存储输入的字符。
cin >> weight >> ji;
:从标准输入流中读取一个整数(重量)和一个字符,并将它们分别存储在weight和ji中。
all = jiben;
:将基本运费赋值给总运费all。
if (weight >= 1000)
:如果重量大于等于1000,则执行以下代码块。int other = weight - 1000;
:计算超出1000克的重量。all += (other / 500) * chao;
:将超出部分按照每500克收取一次超出费用,累加到总运费中。if (other % 500 != 0)
:如果超出部分不是500的整数倍,则执行以下代码块。all += chao;
:再额外收取一次超出费用。
if (ji == 'y')
:如果输入的字符是'y',则执行以下代码块。all += jia;
:将加急费用加到总运费中。
cout << all << endl;
:输出总运费,并换行。
return 0;
:返回0,表示程序正常结束。
}
:main函数结束。
完工,总结
还是有点难度,但是是第二名,这就是实力 !