说明
程序来源于一个游戏:A 事先想好一个小于1000的自然数n并默记,B 的任务是猜出这个数。过程中, B 每猜一个数xi, A 会根据 xi 相对 n 的大小回复“太大”、“太小”或“正确”。十次猜的机会之内,B收到“正确”即为赢,否则为输。
代码
#include<iostream> //#include<stalib.h> #include<time.h> using namespace std; int sta=1; int var=0; void end_game() { //if(!in) {cout<<"你真垃圾!"<<"告诉你,正确答案是"<<var<<endl;} //if(in==var) //{cout<<"真棒!你赢了!"<<endl;sta=0;} } void conti() { cout<<"play again? yes(y) or no(any key other than y):\n"; char temp; cin>>temp; if(temp=='y'||temp=='Y') sta=1; else sta=3; } void result(int in) { if(in>var) {cout<<"你猜的太大了!\n";sta--;} else if(in<var) {cout<<"你猜的太小了!\n";sta--;} else {cout<<"真棒!你赢了!"<<endl;sta-=11;} } void init() { srand((int)time(0)); var=rand()%1000; sta=9; //9次机会 } void game() { init(); cout<<"请输入一个不大于1000的自然数:\n"; for(;sta>=1;) { int in; cin>>in; result(in); } if(sta==0)end_game(); sta=0; } int main() { for ( ; sta!=0; ) { switch (sta) { case 1:game(); case 2:{conti();break;} //case 2: case 3:{cout<<"welcome play later!\n";sta=0;break;} } } return 0; }
重点
- 随机数的产生;
- 多次执行main()函数;