360知道首页 > 小游戏 > 详细问题分析解答内容页

C语言课程设计

东方新闻网用户在7个月前提交了关于“C语言课程设计”的提问,欢迎大家帮忙网友并涌跃发表自己的观点。计算机“想”一个数请人猜,如果猜对了,提示“Right!”;否则“Wrong!”,并告诉所猜的数是大还是小,直到猜对结束,最后给出猜测的次数。期待您的回答,感谢你,我会记得你对我的好的!
7个月前

2020-10-02最佳答案

第1个回答:

LV7个月前这里面用到了随机数,其属于stdlib.h,其中利用rand()%a+b,该随机数的取值范围为[b,a+b-1],下面是程序#include<stdlib.h>#include<stdio.h>intmain(){intmagic;//计算机想的数;intguess;//用户猜的数;intcounter=0;//用来统计用户猜的次数magic=rand()%100+1;//这是1~100之间的随机数do{printf("Pleaseguessamagic**mber:");scanf("%d",&guess);counter++;if(guess>magic){printf("Wrong!Toobig!\n");}elseif(guess<magic){printf("Wrong!Too**all!\n");}else{printf("Right!\n");}}while(guess!=magic);//直到猜对为止printf("counter=%d",counter);//输出猜的次数return0;}这是运行结果但是有个问题,那就是在这个程序里随机数看似随机,实际上它是不变的--42,这是一个伪随机数。但是对付你这题够了。如果你想每次运行产生一个不同的随机数,我还是帮你写出来吧,以防万一:我们要用到“随机化”,利用srand()函数来设置随机数种子#include<stdlib.h>#include<stdio.h>intmain(){intmagic;//计算机想的数;intguess;//用户猜的数;intcounter=0;//用来统计用户猜的次数unsignedintseed;//定义一个无符号整型变量printf("Pleaseenterseed:");//提示输入随机数种子scanf("%u",&seed);srand(seed);//为函数rand()设置随机数种子magic=rand()%100+1;//这是1~100之间的随机数do{printf("Pleaseguessamagic**mber:");scanf("%d",&guess);counter++;if(guess>magic){printf("Wrong!Toobig!\n");}elseif(guess<magic){printf("Wrong!Too**all!\n");}else{printf("Right!\n");}}while(guess!=magic);//直到猜对为止printf("counter=%d",counter);//输出猜的次数return0;}下面是结果从这两个结果里可以看到,随机数种子不同,产生的随机数不同当随机多了,即随机的随机,说不定真的能随机。还有问题吗,谢谢采纳,Thanks?(?ω?)?追答:sorry,有个结果图发错了,实在抱歉,是这个


第2个回答:

匿名网友LV7个月前给你个我以前做的参考#include<stdio.h>#include<time.h>#include<stdlib.h>intmain(){intn,your**mber,ct,my**mber;time_tti;charc;srand((unsigned)time(&ti));//初始化随机函数while(1){ct=0;my**mber=rand()%100+1;//1~100随机while(ct++<10){printf("你猜的数为:");scanf("%d",&your**mber);if(your**mber==my**mber){printf("对了!\n");bre**;}if(your**mber>my**mber)printf("大了!\n");elseprintf("小了!\n");}if(ct<10)printf("你共猜了%d次\n",ct);elseprintf("你猜了10次没猜对\n");printf("继续?(Y/y)");scanf("%c",&c);if(c!='y'&&c!='Y')bre**;}return0;}


希望360知道的回答,能够帮助到你。

热门分类提问

  • 手机数码 手机数码十大品牌,手机数码哪个品牌好。手机电脑等数码产品资讯,游戏资讯。

  • 商业理财 商业理财业务管理办法最新p2p公司排名年利率10%的商业理财