1. c++編程貓吃老鼠的問題
#include<stdio.h>
voidGetLastMouse(intnType,intnCount,intnMouse[],int&nLastMouse)
{//nType--0表示吃的是奇數,1偶數;nCount--老鼠的總數;
//nMouse--所有老鼠的序號數組;nLastMouse最後一隻老鼠
intnAllIndex=0;//總老鼠的索引
intnLifeIndex=0;//活著的老鼠的索引
intnLife=0; //活著的老鼠
intnLifeCount=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);//遞運算
}
voidmain()
{
intnArray[]={1,2,3,4,5,6,7,8,9,10};
intnLastMouse=0;//最後一隻老鼠
GetLastMouse(0,10,nArray,nLastMouse);
printf("最後一隻老鼠的首次編號是:%d ",nLastMouse);
}
2. 請教C語言編程高手幫助:貓捉老鼠問題
這其實就是迷宮問題的變體,貓最初的位置是入口,老鼠的位置就是出口,只不過這個出口處於不停的變動當中,但是老鼠的逃跑方式已經確定,所以只管讓它走,貓捉老鼠就是一個求解迷宮路徑的過程。比較麻煩的就貓永遠抓不到老鼠的情況該如何判定,我們可以利用兩個棧把貓和老鼠的路徑都保存起來,並且標上序號,因為不用列印最短路徑所以就不必出棧,每當貓或老鼠走一步的時候就遍歷兩個棧,如果貓和老鼠走到他們某一次都走過的地方那麼就表明他們將永遠在這段路徑中循環,即貓永遠抓不到老鼠。比如老鼠第10步走到(10,11),貓第十步走到(20,21),而老鼠第30步又走到(10,11),貓第30步也走到(20,21)就表明貓和老鼠會在這段路程中循環不息。我的思路就是這樣吧,如果有什麼不對請幫忙指點一下,代碼有時間我也去打打,如果你做出來了不妨交流一下,呵呵!
3. 貓爪老鼠游戲模擬(c++程序設計)C++題目:貓抓老鼠的模擬 1.問題描述 在一個迷宮內,貓正在追
C++編寫猜數字小游戲#include#include#includevoidmain(){cout>x;for(i=1;iy){if(i==10){cout>x;continue;}elseif(x>x;continue;}elsecout10){cout>z;}else{cout>z;}}while(z=='Y'||z=='y');}