首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

问一道题中的一些有关问题,多谢指点

2012-03-25 
问一道题中的一些问题,谢谢指点题目是这样的:设计一个可以反复猜数的游戏,要求:1.先由计算机想一个数请人

问一道题中的一些问题,谢谢指点
题目是这样的:
设计一个可以反复猜数的游戏,要求:
1.先由计算机想一个数请人猜,如果猜对了,则继续下一个数,否则计算机给出提示,告诉人所猜的数是太大还是太小.
2.计算机记录人猜的次数,以此来反映猜数者猜的水平.
3.当人猜对或者同一个数猜了20次仍未猜中时停止本次猜数,然后继续猜下一个数.
4.每次运行程序可反复猜多个数,直到操作者想停止时才结束.

我是新手,对问题3的后半部分和问题4不知道如何编写,希望指点一下,另外希望尽量只用条件和循环语句编写,太高深了我不懂,对了,是用C语言

[解决办法]
3.当人猜对或者同一个数猜了20次仍未猜中时停止本次猜数,然后继续猜下一个数.
用一个初始值为1的变量记录猜的次数,每猜一次这个变量自增1,当猜对或此变量〉=20时跳出猜数循环。

4.每次运行程序可反复猜多个数,直到操作者想停止时才结束.
int main()
{
while(1)
{
//这里放代码
}
}
就可以不断循环了。
[解决办法]
#define MAX 20
int guess(int N){
int i=MAX/*剩余次数*/,num;
do{
printf( "\n输入: ");
scanf( "%d ",&num);
i--;
if(num==N)return i;
printf(...);/*提示*/
}while(i> 0);
return 0;/*或返回负数*/
}
int main(){
int count=0,score=0;
char next;
do{
score += guess(随机数);
count++;
printf( "\n是否继续?(Y/N) ");
next = getch();
}while(next== 'y '||next== 'Y ');
printf( "平均:%.2f分 ",(float)(score*100)/(count*MAX));
}

热点排行