结构 C 中给定数字的随机数
Random number from given numbers in structure C
我的结构是这样设置的
struct judges
{
char surname[20];
int id;
struct judges *wsk;
}
如何从给定的 ID 中获取随机数?例如,我添加了 3 个 ID 分别为 3、7 和 253 的评委,有没有办法只从这些评委中获取随机数?
从这些结构的数组中随机选择一个项目并读取其 ID。
您可以使用 srand()
设置您的随机种子(在本例中为 ID),然后使用 rand()
为每个评委获取您的随机数。您也可以使用 [Glib Random Number(https://developer.gnome.org/glib/2.42/glib-Random-Numbers.html) 而不是标准 C 函数。
是的,从数组中随机选择一个数。
但是要在你的数组中选择一个,你必须使用:
rand() % arrayLength;
//in your case:
rand() % 3; //returns 0,1,or 2`
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main(){
struct judges judge;
int index,i;
time_t t;
srand((unsigned int)time(&t));
int ids[]={3,7,253};
index=rand() % 3;
judge.id=ids[index];
}
你需要构建一个ids数组,然后使用srand()和rand()生成一个随机索引并将其分配给judge.id字段。
如果您想了解有关生成随机数的更多信息 http://www.tutorialspoint.com/c_standard_library/c_function_rand.htm
http://www.tutorialspoint.com/c_standard_library/c_function_srand.htm
我的结构是这样设置的
struct judges
{
char surname[20];
int id;
struct judges *wsk;
}
如何从给定的 ID 中获取随机数?例如,我添加了 3 个 ID 分别为 3、7 和 253 的评委,有没有办法只从这些评委中获取随机数?
从这些结构的数组中随机选择一个项目并读取其 ID。
您可以使用 srand()
设置您的随机种子(在本例中为 ID),然后使用 rand()
为每个评委获取您的随机数。您也可以使用 [Glib Random Number(https://developer.gnome.org/glib/2.42/glib-Random-Numbers.html) 而不是标准 C 函数。
是的,从数组中随机选择一个数。
但是要在你的数组中选择一个,你必须使用:
rand() % arrayLength;
//in your case:
rand() % 3; //returns 0,1,or 2`
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main(){
struct judges judge;
int index,i;
time_t t;
srand((unsigned int)time(&t));
int ids[]={3,7,253};
index=rand() % 3;
judge.id=ids[index];
}
你需要构建一个ids数组,然后使用srand()和rand()生成一个随机索引并将其分配给judge.id字段。
如果您想了解有关生成随机数的更多信息 http://www.tutorialspoint.com/c_standard_library/c_function_rand.htm http://www.tutorialspoint.com/c_standard_library/c_function_srand.htm