程序3:编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,并在屏
幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,且结束游戏,否则计
算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜
中的话,则停止本次猜数。
前面代码运行都很正常,就是到最后一步,对猜的次数进行限制的时候,一直报错,求问。
-
#include
#include
#include
#include
#include
#include
using namespace std;
int main()
{
int x; //x的值由计算机随机产生
int guess; //用户猜的数,从键盘输入
int counter=0; //记录用户猜数的次数
srand(time(NULL));
x=rand()%100+1;
cout<<"***游戏开始***"<do
{
cout<<"请输入你猜的数:";
cin>>guess;
counter++;
if(guess>x)
cout<<"错误,你猜的数太大了!"<else if(guess"错误,你猜的数太小了!"<while(guess!=x);
cout<<"***恭喜你,猜对了!你一共猜了"<"次***"<system("pause");
if (count == 10)
cout << "尝试次数超过10次,游戏已结束。下次加油哦!" << endl;
return 0;
}
第14行 int counter=0;
第22行 counter++;
第31行if (count == 10) count 拼写错误, 应改为:if (counter == 10)
修改完善如下,供参考:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <ctime>
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int x; //x的值由计算机随机产生
int guess; //用户猜的数,从键盘输入
int counter = 0; //记录用户猜数的次数
srand(time(NULL));
x = rand() % 100 + 1;
cout << "***游戏开始***" << endl;
do
{
cout << "请输入你猜的数:";
cin >> guess;
counter++;
if (guess > x)
cout << "错误,你猜的数太大了!" << endl;
else if (guess < x)
cout << "错误,你猜的数太小了!" << endl;
} while (guess != x && counter < 10);
if (counter < 10)
cout << "***恭喜你,猜对了!你一共猜了" << counter << "次***" << endl;
else
cout << "尝试次数超过10次,游戏已结束。下次加油哦!" << endl;
return 0;
}