当前位置:网志问答 > 重庆 > C语言课程设计
已有回答

C语言课程设计

计算机“想”一个数请人猜,如果猜对了,提示“Right!”;否则“Wrong!”,并告诉所猜的数是大还是小,直到猜对结束,最后给出猜测的次数。网志问答在浏览130次收到腾讯网的热心用户U3120092621关于秘密C语言课程设计的提问,关于这些疑难问题,进行了深入的分析。得到了网志问答众多网友的支持,得到了如下解决方案,摘录了部分优质回答,如对此有任何好的意见,欢迎大家进行探讨共同解决!

详细问题描述及疑问:期待您的答案,真心佩服你,谢谢 !

本页链接:http://www.oxrm.com/question/1581311691617214

AD728-90
满意答案

第1个优秀答案:

这里面用到了随机数来自,其属于stdlib知义贵相正玉.h,其中利用rand()%a+b,该随机数的取值范围为[b,a+b-1],下面是程序#include<stdlib.h>#include<stdio.h>intmain(){intmagic;//计算机想的数;intg器且谓治议uess;//用户猜的数;intcounter=0;//用来统计用户猜的次数magic=rand()%10牛环位与先胡县会0+1;//这是1尔~100之间的随机数do{printf("Pleaseguessamagicnumber:");scanf("%d",&guess);counter++;if(guess>magic){printf("Wrong!Toobig!\n");}el怎的安可动停seif(guess<magic){printf("Wrong!Toosmall!\n");}else{p核几rintf("Right房兴绍充章降距引可!\n");}}while(guess!证在排较识级抗=magic);/问答/直到猜对为止printf("counter=%d",count花井er);//输出猜的次数r工束总践车面eturn0;}这是运行结果但是有个问题,那就是在这个程序里随机数看似随机,实际上它是不变的--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("Pleaseguessamagicnumber:");scanf("%d",&guess);c践且编从敌ounter++;if(guess>magic){printf("Wrong!Toob名样映所际下心济燃调ig!\n");}elseif(guess<magic){printf("Wrong!Toosmall!\n");}else{printf("Right!\n");}}while(g信远严缩门维最由视uess!=magic);//直到猜对为止printf("counter=%d",counter);//输出猜也里铁州气半冷的次数return0;}下面是结果从这两个结果里可以看到,随机数种子不同,产生的随机数不同当随机多了,即随机的随机,说不定真的能随机。还有问题吗,谢谢采纳,Thanks?(?ω?)?


第2个优秀答案:

给你个我以前做的参考#include<stdio.h>#include<time.h>#include<stdlib.h>intmain(){intn,yournumber,ct,mynumber;time_tti;charc;srand((unsigned)time(&ti));//初始化随机函数while(1){ct=0;mynumber=rand()%100+1;//1~100随机while(ct++<10){printf("你猜的数为:");scanf("%d",&yournumber);if(yournumber==mynumber){printf("对了!\n");break;}if(yournumber>mynumber)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')break;}return0;}


希望以上的回答,能够帮助你。更多关于C语言课程设计的知识及相关经验请访问经验知识https://www.5058.cn/,能够帮助你解决更多的问题,学习更多的经验。
AD160-600