详细问题描述及疑问:期待您的答案,真心佩服你,谢谢 !
这里面用到了随机数来自,其属于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?(?ω?)?
给你个我以前做的参考#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;}