C语言的算法:放礼炮
学技术,重在日拱一卒,一点一滴的积累。
今天,我们一起来分析C语言的算法:放礼炮。
算法题目:在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各21响。已知A舰每隔5秒放1次,B舰每隔6秒放1次,C舰每隔7秒放1次。假设各炮手对时间的掌握非常准确,请用C语言计算观众总共可以听到多少次礼炮声。
编程思路
编程思路:
1、先定义一个变量来记录当前的时间值,通过对时间的分析,来判断是否有礼炮声。分析题目,我们可以知道军舰C最后完成放礼炮,即可以以军舰C停止的时间作为时间判断的终点。判断在C停止之前,有多少声礼炮。
2、由于三个军舰的礼炮具有一定的时间周期,就会存在一个时间点,放好几个礼炮的可能性,但是对于我们而言那就是一声礼炮的声音。
3、即对于礼炮声,同一个时间点,只会有一声礼炮,也就是多选一的情况,要么就都不响,要么就是当前时间点只响一下,可以用if-else if选择语句实现。
程序范例
#include <stdio.h>
int n, t;
int main()
{
n = 0;
for (t=0; t<=20*7; t++)
{
if ((t%5 == 0) && (t <= 20*5))
{
n++;
}
else if ((t%6 == 0) && (t <= 20*6))
{
n++;
}
else if (t%7 == 0)
{
n++;
}
}
printf("礼炮声n = %d\n", n);
}
程序运行结果:
学习
页:
[1]