我编写了一个程序,但总是给出相同的数字(41)。 下次我玩的时候为什么不改变?
第二个问题是:如何限制2个数字之间的答案?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int magic,guess;
char ans='y';
magic=rand();
printf("\t\t\tgame(guess the number)\n");
do{
printf("guess the magic number\n");
scanf("%d",&guess);
if(guess==magic){
printf("\n*****Right*****\n");
printf("%d is the magic number.",magic);
getch();
ans='n';
}else{
printf("\n*****Wrong*****\n");
if(guess>magic)
printf("your guess is too high\n");
else printf("your guess is too low\n");
printf("do you want to continue?\n");
ans=getch();
}
}while(ans=='y');
return 0;
}
我想限制50到500之间的答案。我该怎么做?
答案 0 :(得分:1)
将srand (time(NULL));
作为main()
函数的第一行,让魔法开始:)
现在.... rand()给出0到RAND_MAX
范围内的数字所以假设您想要在x和y(包括)(x 然后 干杯:)int rand_num = rand() %(y-x+1) + x;
将是您的解决方案
答案 1 :(得分:0)
使用srand
- http://www.cplusplus.com/reference/cstdlib/srand/
使用类似进程ID和/或当前时间的内容