c++猜数字5.8.2
2025-04-27 10:34:12
发布于:浙江
python链接
//猜数字5.8.2:
#include <Windows.h>
#include <bits/stdc++.h>
using namespace std;
string npc;
long double a,b,pg,nc,ng,x;
long long r,l;
void _exit_(){
system("cls");
cout<<"该程序以运行完毕\n欢迎下次再来\n点击\"确认\"关闭";
MessageBoxA(NULL, "该程序以运行完毕", "确认",MB_ICONWARNING);
}
int main(){
MessageBoxA(NULL, "该程序由\"https://www.acgo.cn/person/1450113\"编写,有bug请在网站私信作者!", "确认",MB_ICONWARNING);
while(1){
system("cls");
cout<<"猜数字游戏!\n如果死循环请重开。\n1.开始\n2.结束\n";
cin>>x;
if(x==1){
system("cls");
cout<<"请输入最小值和最大值:\n";
cin>>a>>b;
l=min(a,b);
r=max(a,b);
ng = rand() % (r - l) + l;
system("cls");
while(pg!=ng){
pg==0;
cout<<l<<"~"<<r<<"猜数字。\n";
cout<<"请输入你的猜测:";
cin>>pg;
nc++;
if(pg < ng && pg >= l){
system("cls");
cout<<"太小了,范围在:"<<pg<<"~"<<r<<"\n";
l = pg;
}else if(pg > ng && pg <= r){
system("cls");
r = pg;
cout<<"太大了,范围在:"<<l<<"~"<<pg<<"\n";
}else if(pg == ng){
cout<<"恭喜你,猜对了!你一共猜了"<<nc<<"次。\n请输入数字返回。";
cin>>npc;
break;
}else if(pg>r || pg<l){
system("cls");
cout<<"不要乱输入,再重申一遍,范围在:"<<l<<"~"<<r<< "\n";
continue;
}
}
}else if(x==2) {
_exit_();
return 0;
}
}
return 0;
}
在Dev-cpp能玩。
感谢你说得对但是骗分启动提供1.1.0版本
感谢复仇者_童帅ด้้(不加团队提供4.4.0版本
输入不要超过2^60就不会有bug。
可能有bug,待提出。
全部评论 4
rand() % r + l
?
如果l与r差距小,这玩意会出界的吧2024-11-09 来自 广东
1改成
rand() % (r - l) + l
就行了(再加个特判保证l不等于r)2024-11-09 来自 广东
1好像
2024-11-09 来自 浙江
1干一下吧。
2024-11-09 来自 浙江
1
在?
2024-08-30 来自 浙江
1不行,笑死我了没做边界判断,导致乱输数字竟然可以变成边界?
#include <Windows.h> #include <bits/stdc++.h> using namespace std; void pga() { system("cls"); int a=0,b=0,l=0,r=0; srand(static_cast<unsigned int>(time(0))); cout<<"猜数字游戏!\n"<<"请输入最小值和最大值:\n"; cin>>a>>b; l=min(a,b);r=max(a,b); int pg = 0,nc = 0,ng = rand() % r + l; system("cls"); cout<<l<<"~"<<r<<"猜数字。\n"; while (pg != ng) { cout << "请输入你的猜测:"; cin >> pg; nc++; if(pg < ng && pg > l){ cout << "太小了,范围在:"<<pg<<"~"<<r<<endl; l = pg ; }else if(pg > ng && pg < r){ cout << "太大了,范围在:"<<l<<"~"<<pg<<endl; r = pg ; }else if(pg <= l || pg >= r){ cout << "不要乱输入,再重申一遍,范围在:" << l << "~" << r << "\n"; }else{ cout << "恭喜你,猜对了!你一共猜了" << nc << "次。" << endl; } } }int main() { char pa = 'y'; while (pa == 'y') { pga(); cout << "你想再玩一次吗?(y/n): "; cin >> pa; }system("cls"); MessageBoxA(NULL, "猜数字已运行完毕", "关闭",MB_ICONWARNING); }
修改了一下加了下边界条件
2024-08-19 来自 浙江
1报错:
未命名1 In function 'int main()':
35 72 未命名1 [Error] expected '}' at end of input
28 13 未命名1 [Note] to match this '{'
C:\Users\Administrator\Desktop\未命名1.cpp In function 'int main()':
35 72 C:\Users\Administrator\Desktop\未命名1.cpp [Error] expected '}' at end of input
28 13 C:\Users\Administrator\Desktop\未命名1.cpp [Note] to match this '{'2024-08-19 来自 浙江
1缺划括号了呗,鼠标点点花括号旁边会显示对应的,感觉歪了就添一个
2024-08-19 来自 上海
1大概率你复制错了,我这里没问题
2024-08-19 来自 上海
1哦,现在好了。
2024-08-19 来自 浙江
1
有帮助,赞一个