# c语言猜数游戏，为什么在循环中不能实现猜错了输出随机数在%d-%d之间呢

``````#include<stdio.h>
#include<string.h>
#include<iostream>
#include <math.h>
#include<time.h>
#define CRT_SECURE_NO_WARNINGS
#pragma warning(disable:4996)
using namespace std;
int randomnumber()//获取随机数
{
srand((unsigned)time(NULL));
return rand() % 100 + 1;
}
int compare(int a, int b)
{
return (a > b) ? 2 : (b > a) ? 1 : 0;//1大了，2小了，0猜对了
}

int main()
{
int a, b, c, i = 1;
a = randomnumber();
cout << a << endl;
puts("数字范围1-100，你有十次机会，输入你的数字吧");
for (i=0;i<11;i++)
{
int temp=100,num=0;
scanf_s("%d", &b);
c = compare(a, b);
switch (c)
{
case 1:printf("在%d到%d之间",num,b); break;
case 2:printf("在%d到%d之间", b, temp); break;
case 0:puts("you are right"); goto end;
}
puts("再试试吧");
temp = b; num = b;
}
end:
switch (i)
{
case 1:puts("天才"); break;
case 2: case 3:puts("聪明"); break;
case 4: case 5:puts("一个凡人"); break;
case 6: puts("智商着急"); break;
case 7: case 8:puts("笨"); break;
case 9: case 10:puts("笨到家"); break;
case 11:puts("我对你无语"); break;
}
return 0;
}
``````

• 写回答

#### 1条回答默认 最新

• threenewbee 2020-04-22 18:12
关注

# 问题解决的话，请点下采纳

``````#include<stdio.h>
#include<string.h>
#include<iostream>
#include <math.h>
#include<time.h>
#define CRT_SECURE_NO_WARNINGS
#pragma warning(disable:4996)
using namespace std;
int randomnumber()//获取随机数
{
srand((unsigned)time(NULL));
return rand() % 100 + 1;
}
int compare(int a, int b)
{
return (a > b) ? 2 : (b > a) ? 1 : 0;//1大了，2小了，0猜对了
}

int main()
{
int a, b, c, i = 1;
a = randomnumber();
cout << a << endl;
puts("数字范围1-100，你有十次机会，输入你的数字吧");
int temp=100,num=0;
for (i=0;i<11;i++)
{
scanf_s("%d", &b);
c = compare(a, b);
switch (c)
{
case 1:printf("在%d到%d之间",num,b); break;
case 2:printf("在%d到%d之间", b, temp); break;
case 0:puts("you are right"); goto end;
}
puts("再试试吧");
if (c == 1) temp = b;
if (c == 2) num = b;
}
end:
switch (i)
{
case 1:puts("天才"); break;
case 2: case 3:puts("聪明"); break;
case 4: case 5:puts("一个凡人"); break;
case 6: puts("智商着急"); break;
case 7: case 8:puts("笨"); break;
case 9: case 10:puts("笨到家"); break;
case 11:puts("我对你无语"); break;
}
return 0;
}
``````
本回答被题主选为最佳回答 , 对您是否有帮助呢?
评论

#### 悬赏问题

• ¥15 python使用pulp线性优化时报错
• ¥15 开源或低价数据中台哪个最好
• ¥15 arduino编程出现字符串疑似覆盖现象
• ¥15 我的b站在没有碰到屏幕的情况下偶尔会自动跳出进度条，就像在屏幕上点了一下一样，但我并没有点。而且视频进度并没有变。这可能是什么原因造成的？
• ¥30 STK matlab python仿真
• ¥15 关于IMageEnView 图标定位问题
• ¥20 求解答（matlab）
• ¥30 ffmpeg库使用过程中遇到的问题
• ¥15 pyqt5 中python如何通过Qtwebchannel主动发消息给web前端
• ¥15 关于HTML中title获取xml内容的问题