美文网首页
【C语言学习笔记系列】C语言编程狼追兔子问题代码解析!

【C语言学习笔记系列】C语言编程狼追兔子问题代码解析!

作者: 折扇戏美人_a48e | 来源:发表于2020-07-13 16:15 被阅读0次

    问题描述

    一只兔子躲进了10个环形分布的洞中的一个。狼在第一个洞中没有找到兔子,就隔一个洞,到第3个洞去找;也没有找到,就隔2个洞,到第6个洞去找;以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中?

    问题分析

    首先定义一个数组a[11],其数组元素为a[1],a[2],a[3]……a[10],这10个数组元素分别表示10个洞,初值均置为1。

    接着使用“穷举法”来找兔子,通过循环结构进行穷举,设最大寻找次数为1000次。由于洞只有10个,因此第n次查找对应第n%10个洞,如果在第n%10个洞中没有找到兔子,则将数组元素a[n%10]置0。

    当循环结束后,再检查a数组各元素(各个洞)的值,若其值仍为1,则兔子可能藏身于该洞中。

    下面是程序流程图:

    下面是完整代码:

    #include <stdio.h>

    int main()

    {

    int n=0, i=0, x=0;

    int a[11];

    for(i=0; i<11; i++)  /*设置数组初值*/

    a[i]=1;

    for(i=0; i<1000; i++)  /*穷举搜索*/

    {

    n+=(i+1);

    x=n%10;

    a[x]=0;  /*未找到,置0*/

    }

    for(i=0; i<10; i++)  /*输出结果*/

    {

    if(a[i])

    printf("可能在第%d个洞\n", i);

    }

    return 0;

    }

    运行结果:

    可能在第2个洞

    可能在第4个洞

    可能在第7个洞

    可能在第9个洞

    自学C/C++不易,此路应携手前行。

    如果你想跟着小编一起学编程的话!

    可以来我专栏的C语言/C++编程学习基地【点击进入】

    还有(源码,零基础教程,项目实战教学视频)【进入领取】!   

    相关文章

      网友评论

          本文标题:【C语言学习笔记系列】C语言编程狼追兔子问题代码解析!

          本文链接:https://www.haomeiwen.com/subject/glymcktx.html