永发信息网

c++编程猫吃老鼠的问题

答案:1  悬赏:40  手机版
解决时间 2021-04-03 02:59
c++编程猫吃老鼠的问题
最佳答案
#include 
void GetLastMouse(int nType, int nCount, int nMouse[], int &nLastMouse)
{// nType--0表示吃的是奇数,1偶数;nCount--老鼠的总数;
 // nMouse--所有老鼠的序号数组;nLastMouse最后一只老鼠
int nAllIndex = 0;  // 总老鼠的索引
int nLifeIndex = 0; // 活着的老鼠的索引
int nLife = 0; // 活着的老鼠
int nLifeCount = 0; // 活着的老鼠总数
for(nAllIndex = 0; nAllIndex < nCount; nAllIndex++)
{ // 获取所有活着的老鼠数量,保存最后一只活着的老鼠的索引
if (0 != nMouse[nAllIndex])
{
nLifeCount++;
nLife = nAllIndex;
}
}
if (1 == nLifeCount) // 如果活着的老鼠只剩一只了,返回
{
nLastMouse = nMouse[nLife];
return ;
}

for (nAllIndex = 0, nLifeIndex = 0; nAllIndex < nCount && nLifeIndex < nLifeCount; nAllIndex++)
{
if (0 != nMouse[nAllIndex] ) // 还没被吃
{
if (nType == nLifeIndex % 2) // 并且处在被吃位置上
nMouse[nAllIndex] = 0; // 0表示被吃
nLifeIndex++;
}
}
GetLastMouse(nType, nCount, nMouse, nLastMouse); // 递运算
}
void main()
{
int nArray[] = {1,2,3,4,5,6,7,8,9,10};
int nLastMouse = 0; // 最后一只老鼠
GetLastMouse(0, 10, nArray, nLastMouse);

printf("最后一只老鼠的首次编号是:%d
", nLastMouse);}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
非毛坯的意思
应用程序无法正常启动0×c0000018 怎么办?WI
有谁知道纬地6.8对应的cad版本最好是哪个
易拉罐变瘪璧再度鼓起的原因反应的化学方程式
金茅酒是什么啊
身价五千万,开什么车最合适
求大师帮挑个领证的好日子。男19901012早上5
请问会计分录:借:其他综合收益,贷:投资收
喷塑件表面与汽油是否反应
windows server 2008 怎么搭建ftp服务器
敌人包围了什么村,嘎子为了配合游击队,主动
女生说723是什么意思
什么是反激式开关电源
1600万像素和双一千1300万像素那个好
卡车标准吨位都有是什么
推荐资讯
10米*4米的大屏幕,ppt版面比例怎么调整?
日语: 见てもらったほうがいいよ中见てもら
古代藏宝箱的上盖为什么做成上拱形
如何辨别visvim真假
戴尔P39F笔记本如何将bios设置u盘启动
清炒绿豆菜的家常做法大全怎么做好吃
神舟Z7在bios里禁用了集成显卡会怎样
天然大理石和天然花岗石各有何特性,使用上有
购买直冷制冰机有哪些注意事项
常州信特超市总店在哪里?
追韩流明星都用什么手机app
旅顺有没有小鱼咬脚的地方,就是脚放在水里或
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?