c语言随机抽取小程序_c++ c语言编写抽学号小程序
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
运行结果:

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;
更多推荐
所有评论(0)