猜数游戏c语言 20

编程由计算机想一个1到100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对,依次反映猜数者的水平,则结束游戏,否则计算机给出提示,告诉人所猜的数太大还是太小... 编程由计算机想一个1到100之间的数请人猜,如果人猜对了,在屏幕上输出人猜了多少次才猜对,依次反映猜数者的水平,则结束游戏,否则计算机给出提示,告诉人所猜的数太大还是太小,最多可以猜十次,如果猜十次仍未猜中,则停止本猜想,继续猜下一个数,每次运行可反复猜多个数,直到操作者想要结束才结束 一定要是c语言,希望跟网上搜到的有点不一样 展开
 我来答
jackou20057
推荐于2018-04-26 · TA获得超过998个赞
知道小有建树答主
回答量:199
采纳率:100%
帮助的人:271万
展开全部
#include<stdio.h>
#include<stdlib.h> //随机数生成函数srand()与rand() 所需的头文件
#include<time.h> //time()所需的头文件
int main()
{
int sysdata;//系统生成的数据
int n; //所猜的数据
int sum = 0;//记录猜的次数
srand((unsigned)time(NULL)); //随机数发生器初始化函数,以时间为种子
sysdata = rand()%100+1; //随机生成1到100的随机数
printf("退出程序请按:ctrl + c!\n");
while(1)
{
printf("请输入你猜的数据(1-100): ");
if(scanf("%d",&n) != 1) //用于判断用户是否结束游戏
{
break; //跳出while循环,结束游戏
}
sum++; //每输入一次数据,猜的次数加1
if(sum == 10) // 当猜的次数大于10次的时候重新生成新的随机数
{
if(n == sysdata) //最后一次猜数正确,输出结果,结束游戏
{
printf("猜数正确,总共猜了%d次!\n",sum);
break; //跳出while循环,结束游戏
}
else //最后一次猜数不正确则重新开始游戏
{
printf("猜数次数超过%d次,重新开始游戏!\n",sum);
sysdata = rand()%100+1; //随机生成1到100的随机数
sum = 0;
}
}
else
{
if(n == sysdata)
{
printf("猜数正确,总共猜了%d次!\n",sum);//猜数正确,结束游戏
break; //跳出while循环,结束游戏
}
else if(n > sysdata)
{
printf("你猜的数据太大!\n");
}
else
{
printf("你猜的数据太小!\n");
}
}
}
printf("猜数游戏结束!\n");
return 0;
}

测试结果:
退出程序请按:ctrl + c!
请输入你猜的数据(1-100): 50
你猜的数据太小!
请输入你猜的数据(1-100): 75
你猜的数据太小!
请输入你猜的数据(1-100): 85
你猜的数据太大!
请输入你猜的数据(1-100): 80
你猜的数据太小!
请输入你猜的数据(1-100): 82
你猜的数据太小!
请输入你猜的数据(1-100): 84
猜数正确,总共猜了6次!
猜数游戏结束!
Press any key to continue
昌珈蓝歆0L
2012-07-03 · TA获得超过879个赞
知道小有建树答主
回答量:422
采纳率:0%
帮助的人:402万
展开全部
#include <stdio.h>
#include <stdlib.h>
main()
{
int n,t,g;
char c;
while(1)
{
n = 1 + rand() % 100;
printf("请猜一个1~100的数字:");
scanf("%d",&g);
t=1;
while(g!=n)
{
if(t==10) break;
if(g<n) printf("猜小了哦\n");
else printf("猜大了哦\n");
scanf("%d",&g);
t++;
}
if(t==1) printf("太棒了,一次就猜对了!\n");
else if(t>2 && t<5) printf("猜了%d次,也不错哦。\n",t);
else if(t>4 && t<8) printf("猜了%d次,还可以\n",t);
else if(t==8 || t==9) printf("猜了%d次才对,你乱猜的吧\n",t);
else if(t==10) printf("怎么猜了10次还不对啊,算了,猜下一个吧。\n");
if((c=getchar())=='q') break;
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友af798f7
2018-12-19 · TA获得超过139个赞
知道答主
回答量:2
采纳率:0%
帮助的人:1530
展开全部
猜一个数,只要情对了就行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
皓哥看世界
2018-04-26 · TA获得超过139个赞
知道答主
回答量:112
采纳率:50%
帮助的人:21.6万
展开全部
#include <stdio.h>
#include <time.h>//时间需要的函数
#include <stdlib.h>//随机数生成函数srand()与rand() 所需的头文件
main()
{
int i,j,x,a;
printf("\n\t\t猜数游戏\n");
srand(time(NULL));//定义随机函数
j=rand()%100;//取1-100内
printf("\n\t请输入你要猜的数(1-100以内):");
scanf("%d",&x);//输入要猜的数
a=j-x;//随机数-你猜的数,若结果为0,则说明相等,直接跳过while输出最后一句
while(a!=0){//若两数相减不为0,说明不等,执行while,进行循环判断
if(x>j){
printf("\n\t猜大了\n");
}else if(x<j){
printf("\n\t猜小了\n");
}
printf("\n\t请重新输入(1-100以内):");
scanf("%d",&x);
if(x==j){//直到两数相等,跳出循环
break;
}
}
printf("\n\t\t恭喜您猜对了\n");
}

补充:rand定义的随机数不是真随机数,每次执行程序时其实产生的是与上一次一样的随机数
,所以采用srand函数,与每时每刻的时间挂钩,这样才能做到真的随机,这个详见百度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式