OK,本人新手,这是我第一次写博客,当作熟悉编辑器,就来一个抽学号的小程序吧。
话不多说,直接硬核!
把程序按需求分成两种(以40人为例子)
1.单纯抽学号

#include<bits/stdc++.h>
using namespace std;
int main()
{cout<<"输入抽取人数";srand(unsigned(time(NULL)));int n,i,j,a[50],s;memset(a,0,sizeof(a));while(cin>>n) //这里的多组是为了让exe文件运行后仍不退出{    for(i=1;i<=n;i++){s=floor(rand()%40+1);for(j=1;j<i;j++)if(s==a[j]) s=0;if(s==0){i--;}else{a[i]=s;}}cout<<"中奖的小宝贝"<<" ";for(i=1;i<=n;i++){cout<<a[i]<<" ";}}return 0;
}

运行结果:

emmmm,这里直接分享一下exe文件
链接: https://pan.baidu.com/s/1THp2iIevHh01Ef_elMf4Jg 提取码: 96nm

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

#include<bits/stdc++.h>
using 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<<"输入抽取人数";srand(unsigned(time(NULL)));int n,i,j,a[50],s;memset(a,0,sizeof(a));while(cin>>n){  for(i=1;i<=n;i++){s=floo(rand()%40+1);for(j=1;j<i;j++)if(s==a[j]) s=0;if(s==0){i--;}else{a[i]=s;}}cout<<"中奖的小宝贝"<<" ";for(i=1;i<=n;i++){cout<<b[a[i]]<<" ";}}return 0;
}

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;

c++ c语言编写抽学号小程序相关推荐

  1. 【项目展示】自己用C语言编写的象棋小程序

    本文目录 1.前言 2.程序规格 3.核心算法与象棋规则.术语 3.1 行棋规则与行棋判定函数设计 3.1.0 象棋棋盘 3.1.1 兵/卒 3.1.2 士 3.1.3 象 3.1.4 马 3.1.5 ...

  2. 编写C语言的最简单小程序Hello world和函数使用

    编写C语言的最简单小程序Hello world 一.示例一 1.编写demo.c程序 #include<stdio.h> int main() {printf("Hello wo ...

  3. c++语言表白超炫图形_C++编写的表白小程序(图片围成爱心+烟花+音乐)-附源代码...

    一.效果 视频效果: C++编写的表白小程序(图片围成爱心+烟花+音乐)-附源码 二.项目完整源代码: 链接:https://pan.baidu.com/s/1zea3Wji1VN4FIrqXoa4L ...

  4. 实用c语言函数源码,C语言编写简单朗读小工具(有源码)

    原标题:C语言编写简单朗读小工具(有源码) 最近不少人在后台留言说学C都是面对枯燥的控制台程序,能不能体现一下C语言的实际用途,今天我们就理论结合实践一把:C语言结合VBS脚本编写一个简单的朗读小工具 ...

  5. c语言案例朗读工具源码,C语言编写简单朗读小工具(有源码)

    原标题:C语言编写简单朗读小工具(有源码) 最近不少人在后台留言说学C都是面对枯燥的控制台程序,能不能体现一下C语言的实际用途,今天我们就理论结合实践一把:C语言结合VBS脚本编写一个简单的朗读小工具 ...

  6. python你好世界代码大全_Python菜鸟入阶第二步(编写hello world小程序)

    现在开始编写一个俗不可耐的hello world小程序. 为什么说俗不可耐呢,因为程序员的第一个程序基本上都是hello world. 既然俗不可耐,为什么不编写其它的小程序呢,比如hello pre ...

  7. python做好的程序如何变成小程序-使用python编写简单的小程序编译成exe跑在win10上...

    每天的工作其实很无聊,早知道应该去IT公司闯荡的.最近的工作内容是每逢一个整点,从早7点到晚11点,去查一次客流数据,整理到表格中,上交给素未蒙面的上线,由他呈交领导查阅. 人的精力毕竟是有限的,所以 ...

  8. c语言程序命令行,ttyd(C语言编写的命令行程序) v1.3.1 免费版

    ttyd是一个C语言编写的命令行程序,可以把任意命令行程序分享到网页上操作,可以看做是个网页版的远程终端,支持 Linux.macOS 系统,还可以运行在 OpenWrt 之类的嵌入式系统上. 功能特 ...

  9. libvirt 用c语言编译,基于C语言libvirt API简单小程序

    libvirt API简单小程序 1.程序代码如下 #include #include int getDomainInfo(int id) { virConnectPtr conn = NULL; v ...

最新文章

  1. python画树叶-Python如何生成树形图案
  2. MySQL基础学习过程
  3. linux给所有主机发送公钥,发送公钥到多台远程主机
  4. SIM7600X 获取GPS信号 TCP/IP连接与PPP拨号上网 4G上网
  5. 多任务学习有用的资料
  6. 一篇文章教你学会Java泛型
  7. C++ string的大小写转换
  8. socket编程(十一)
  9. [渝粤教育] 西南科技大学 液压与气压传动 在线考试复习资料
  10. 【虚拟机】VMWare虚拟机中大小写切换失效的解决方法
  11. 软路由安装矿工无盘服务器,NAS,PT,软路由app服务端安装
  12. MySQL 索引原理 图文讲解
  13. FinTech普惠中国,技术创新智慧杭州
  14. python爬取58同城的兼职信息
  15. JAVA计算机毕业设计书籍点评网站源码+系统+mysql数据库+lw文档
  16. Python模块字典
  17. 查看华三交换机设备信息命令
  18. 如何插入文献及交叉引用
  19. 笔记本连接不上外接显示器_如何将多个外接显示器连接到笔记本电脑
  20. MySQL数据库(三)——数据库配置管理

热门文章

  1. java房屋装修公司业务管理系统
  2. vtk教程第七章 高级计算机图形学
  3. 如何查看Adobe illustrator链接了哪里的资源,查看文件路径
  4. 如何设置WORD中图片自动编号
  5. Bugku部分密码题以及misc题
  6. 智能汽车的福音:高通骁龙820A平台
  7. 高通骁龙820A与DeepLearning相结合的ADAS解决方案
  8. 北斗三号卫星导航信号及接收策略
  9. 全网最细!PyCharm 详细使用指南
  10. 如何判断一个数是否为2的幂次方