这个游戏实现起来并不难,但我写了之后觉得我这个算法实现很好(仅鄙人之见),写着简单,并且层次清晰,愿与诸君分享(C语言对应的代码在下面):
#include<iostream>
using namespace std;
int main(){
int n,cnt=0,Cnt,x;
n=rand()%100+1;
cout<<"输入你限定的最大次数:"<<endl;
cin>>Cnt;
cout<<"输入你猜的数字:"<<endl;
for(;cnt<Cnt;cnt++){
cin>>x;
if(x<=0){
cout<<"这局重开"<<endl;
break; //符合条件则跳出
}
if(x==n){
cout<<"猜对了"<<endl;
break; //符合条件则跳出
}
else{
if(x>n)
cout<<"猜大了"<<endl;
else
cout<<"猜小了"<<endl;
}
}
if(cnt==1)
cout<<"神来之笔"<<endl;
else if(cnt>1 && cnt<=3)
cout<<"妙手回春"<<endl;
else if(cnt>3 && cnt<Cnt)
cout<<"绝境逢生"<<endl;
else
cout<<"这局重开"<<endl;
return 0;
}
C语言如下:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main(){
int n,cnt=0,Cnt,x;
n=rand()%100+1;
printf("输入你限定的最大次数:\n");
scanf("%d",&Cnt);
printf("输入你猜的数字:\n");
for(;cnt<Cnt;cnt++){
scanf("%d",&x);
if(x<=0){
printf("这局重开\n");
break; //符合条件则跳出
}
if(x==n){
printf("猜对了\n");
break; //符合条件则跳出
}
else{
if(x>n)
printf("猜大了\n");
else
printf("猜小了\n");
}
}
if(cnt==1)
printf("神来之笔\n");
else if(cnt>1 && cnt<=3)
printf("妙手回春\n");
else if(cnt>3 && cnt<Cnt)
printf("绝境逢生\n");
else
printf("这局重开\n");
return 0;
}