ZBLOG

#include using namespace std; // 函数king:猴子选大王 // 参数:a-猴子数组n-1个猴子分别占据下标为~n-1的位置,n-数组长度 // 返回值:新猴王的下标序号 int king(int a[], int n); int main() { // 定义变量及数组,n-猴子数量,a-猴子数组 int n, a[1000], i; // 输入猴子数量,n>0 cin >> n; // ...

在你提供的代码中,存在一些错误和不规范之处。下面是修正后的代码:

#include <iostream>
using namespace std;

int king(int a[], int n);

int main()
{
    int n;
    cin >> n;
    
    int a[1001]; // 数组长度为n+1,以匹配猴子数量

    a[0] = 0; // 0号位置没有猴子
    for (int i = 1; i <= n; i++)
        a[i] = i;

    int result = king(a, n);
    cout << result << "号猴子是大王。" << endl;

    return 0;
}

int king(int a[], int n)
{
    int j = 0;
    int i, k, m;

    for (m = n; m != 1; m--)
    {
        for (i = 1;; i++)
        {
            if (i == n + 1)
                i = 1;

            if (a[i] != 0)
                j++;

            if (j == 3)
            {
                a[i] = 0;
                j = 0;
                break;
            }
        }
    }

    for (int b = 1; b <= n; b++)
    {
        if (a[b] != 0)
        {
            return a[b];
            break;
        }
    }

}

这个程序模拟了猴子选大王的过程,在修正后的代码中,我对数组长度进行了调整,并做了一些其他小的修改以保证程序正确运行。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=9880

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?