OK,本人新手,这是我第一次写博客,当作熟悉编辑器,就来一个抽学号的小程序吧。

话不多说,直接硬核!

把程序按需求分成两种(以40人为例子)

1.单纯抽学号

#includeusing namespace std;

int main()

{

cout<>n) //这里的多组是为了让exe文件运行后仍不退出

{

for(i=1;i<=n;i++)

{

s=floor(rand()%40+1);

for(j=1;j

运行结果:

f26bb5c5c90d8f11e2195124034208f8.png

emmmm,这里直接分享一下exe文件

链接: https://pan.baidu.com/s/1THp2iIevHh01Ef_elMf4Jg 提取码: 96nm

2.输出姓名:

其实原理一样,只要再加个字符数组存姓名,输出相应下标的姓名就可以了

#includeusing namespace std;

string b[100];

int main()

{

b[1]="",b[2]="",b[3]="",b[4]="",b[5]=""; //这里按照学号输入姓名就好了

b[6]="",b[7]="",b[8]="",b[9]="",b[10]="";

b[11]="",b[12]="",b[13]="",b[14]="",b[15]="";

b[16]="",b[17]="",b[18]="",b[19]="",b[20]="";

b[21]="",b[22]="",b[23]="",b[24]="",b[25]="";

b[26]="",b[27]="",b[28]="",b[29]="",b[30]="";

b[31]="",b[32]="",b[33]="",b[34]="",b[35]="";

b[36]="",b[37]="",b[38]="",b[39]="",b[40]="";

cout<>n)

{

for(i=1;i<=n;i++)

{

s=floo(rand()%40+1);

for(j=1;j

emmmm,以下是关键代码理解:

1.s=rand()%40+1;

rand()函数的范围是[0,1),所以rand()%40+1的范围是[1,41)

再用floor函数取整,便能获得一个随机数。

但是使用过程中,未添加floor函数,仍然正常运行(个人猜测是因为s定义类型是int,所以自动取整?如果有知道的师傅,欢迎留言)

PS:本代码采用c++万能头文件,rand函数在c语言stdlib.h头文件中

2.srand(unsigned(time(NULL)));

此行代码配合rand函数使用,作用是设置随机数种子。

没有此行代码,运行结果固定不变。

详情参考srand((unsigned)time(NULL))详解

PPPPPPPPPPPPPS:如果人数不同,只需修改此句:s=rand()%40+1;

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐