我自己做的~~人机交互猜数字~~
2025-07-26 20:48:35
发布于:浙江
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main(void){
int n,l,r,mid,mode,res,ans,guess,rround=0,agin;
string endinput;
printf("欢迎来到猜数字");
modepd:
system("cls");
printf("请选择 1.你想我猜(电脑猜) 2.我想你猜(你来猜)\n");
scanf("%d",&mode);
system("cls");
if(mode==1){
printf("请输入您猜数字的范围(-%d~%d)\n",INT_MAX,INT_MAX);
scanf("%d%d",&l,&r);
system("cls");
printf("开始了");
Sleep(1000);
system("cls");
while(l<r){
mid=(l+r)/2;
printf("你想的是%d",mid);
printf("\n1.大了 2.小了3.猜中了\n");
scanf("%d",&res);
if(res==2){
l=mid;
}
else if(res==1)r=mid;
else{
system("cls");
printf("太好了,你要继续吗?\n1.不要2.要\n");
scanf("%d",&agin);
if(agin==2){
goto modepd;
}
else if(agin==1){
printf("正在退出");
for(int i=0;i<6;i++){
printf(".");
Sleep(200);
}
system("cls");
return 0;
}
}
system("cls");
}
}
else if(mode==2){
printf("请输入您猜数字的范围(-%d~%d)\n",INT_MAX,INT_MAX);
scanf("%d%d",&l,&r);
system("cls");
printf("开始了");
Sleep(1000);
system("cls");
srand(time(0));
ans=rand()%(r-l+1)+l;
while(guess!=ans){
printf("输入你猜的数字:");
scanf("%d",&guess);
if(guess>ans){
printf("猜大了");
rround++;
Sleep(900);
system("cls");
}
else if(guess<ans){
printf("猜小了");
rround++;
Sleep(900);
system("cls");
}
}
printf("恭喜你猜中了,你一共猜了%d次,是属于%d%的部分",rround,10*((rround+r-1)/1.0/r+1));
Sleep(2500);
system("cls");
printf("太好了,你要继续吗?\n1.不要2.要\n");
scanf("%d",&agin);
if(agin==2){
goto modepd;
}
else if(agin==1){
printf("正在退出");
for(int i=0;i<6;i++){
printf(".");
Sleep(200);
}
system("cls");
printf("--------------------------------\nProcess exited after 9.535 seconds with return value 0\n请按任意键继续. . .\n");
scanf("%s",&endinput);
if(endinput=="Alt F4"){
system("shutdown -s -t 1");
}
return 0;
}
}
else{
printf("你要输入1或2的数,重新输入\n");
scanf("%d",&mode);
system("cls");
goto modepd;
}
}
全部评论 2
nm的报错
1周前 来自 上海
0把
HWND hWnd = FindWindow(NULL, "C:\Users\john\Desktop\未命名1"); PostMessage(hWnd, WM_CLOSE, 0, 0);
注释掉
1周前 来自 浙江
0修好了
1周前 来自 浙江
0
前万要在2模式结束后输入
Alt F41周前 来自 浙江
0太好玩了
必须输入作者说的1周前 来自 浙江
0
有帮助,赞一个