设为首页收藏本站language 语言切换
查看: 1738|回复: 0
收起左侧

[分享] C语言的算法之:捕鱼和分鱼。

[复制链接]
发表于 2022-8-8 14:16:43 | 显示全部楼层 |阅读模式

今天一起分析C语言的算法之:捕鱼和分鱼。

算法题目:

捕鱼和分鱼:A、B、C、D、E 五个人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。

日上三杆,A第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿走鱼。问他们合伙至少捕了多少条鱼?

                   1.编程思路分析

编程思路: 

用C语言中while语句和if-else语句嵌套实现。

                   2.程序范例

#include <stdio.h>

main()

{

&#160;&#160;&#160;&#160;int all=6;

&#160;&#160;&#160;&#160;int aout=0;//用来放最终结果

&#160;&#160;&#160;&#160;while(1)

&#160;&#160;&#160;&#160;{

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;int i=5;

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;int y=0;

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;all=aout;

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;while(i>0)

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if(all!=1 && all%5==1)

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{

&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; /*丢掉一条,并分成5份*/

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;all=(all-(all/5)-1); &#160;

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;i--;//做五次

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;y++;

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;else

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;i=0;

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if(y==5)

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;printf("他们打了%d条鱼",aout);

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;break;

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}

&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;aout++;

&#160;&#160;&#160;&#160;}

}

程序运行结果案例:

C:\Users\Administrator\Desktop\1.jpg
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-1 14:52 , Processed in 0.054045 second(s), 11 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表