修改一个c++搬山游戏代码

来源:百度知道 编辑:UC知道 时间:2024/05/28 17:14:58
设有n座山,计算机与人为比赛的双方,轮流搬山。规定每次搬山的数止不能超过k座,谁搬最后一座谁输。游戏开始时。计算机请人输入山的总数(n)和每次允许搬山的最大数止(k)。然后请人开始,等人输入了需要搬走的山的数目后,计算机马上打印出它搬多少座山,并提示尚余多少座山。双方轮流搬山直到最后一座山搬完为止。计算机会显示谁是赢家,并问人是否要继续比赛 ?

#include<iostream.h>
#include<stdlib.h>
#include<string>
using namespace std;;
int main()
{
string goon;
int i,j,m,n,k,; // m 剩余山数,n 山的总数(小于100) ,k 一次所能搬走的最大数.
cout<<"输入山的总数和一次所能搬走的最大数"<<endl;
n: cin>>n>>k;
int man[100],cpu[100]; // man 人第i次搬 cpu 电脑第i次搬.
bool game=1;
while(game)
{
if(n<1||k>=n)
{cout<<"错误,请再输入一次"<<endl;
goto n;}
else
cout<<"请你输入要搬走的山的数量先"<<endl;
for(i=1;i<=n;i++)
{cin>>man[i]; // man[0] 小于山的总数要,小于k.
srand( (unsigned)time(

我不得不说,给你改相当于重写了、、、、、、
代码如下,有问题hi我

#include <iostream>
#include <stdlib.h>
#include <string>
#include <time.h>
using namespace std;
int main()
{
string goon;
int m, n, k;
srand((unsigned)time(NULL));
// m 剩余山数,n 山的总数(小于100) ,k 一次所能搬走的最大数.
cout << "输入山的总数和一次所能搬走的最大数" << endl;
n: cin >> n >> k;
int man, cpu; // man 人第i次搬 cpu 电脑第i次搬.
bool game = 1;
m=n;
while (game)
{
if (n < 1 || k >= n)
{
cout << "错误,请再输入一次" << endl;
goto n;
}
else
cout << "请你输入要搬走的山的数量先" << endl;
while(cin >> man&&(man<1||man>k||man>m))
cout << "输入错误,重新输入!" << endl;
m = m - man;
if (m < 1)
{
cout << "游戏结束了,winner是cpu&qu