//一个随机点名器程序,因为代码量较少,我就没有封装函数#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <stdbool.h>int main(int argc, char const *argv[])
{FILE *fp;time_t t = time(NULL);int k = 0; //存放生成的随机数char str[150][20]; //存放从文件中读取出来的名字char s2[150][20];  //存放最终抽取出来的名字char targetname[150] = {-1};                       //存放抽取到的姓名的序号//初始化首元素为-1,避免出现第一次抽中第一个造成误判为抽到重复序号int i = 0, num = 0;int l, m = 1;bool repeat = false; //抽到重复序号的标志位if ((fp = fopen(argv[1], "r")) == NULL) //打开目标文件{printf("Fail to open file!\n");}while (fgets(str[i], 20, fp) != NULL) //读取名单,并存在数组中{if (str[i][strlen(str[i]) - 1] == '\n'){str[i][strlen(str[i]) - 1] = '\0';}i++;}printf("请输入要抽取的个数:\n");scanf("%d", &l);while (m <= l){t = time(NULL);srand(t);repeat = false;for (int j = 100000; j > 0; j -= 10000){k = rand() % i;fprintf(stderr, "%s\r", str[k]);usleep(j);}for (int j = 500000; j > 0; j -= 100000){k = rand() % i;fprintf(stderr, "%s\r", str[k]);usleep(j);}for (int i = 0; i < m; i++) //因为是随机数,避免抽取到重复序号{if (targetname[i] == k)repeat = true;}if (repeat)continue;printf("抽到的第%d个是:%s\n", m, str[k]);targetname[m - 1] = k;sleep(1);for (int j = 0; j < 20; j++){s2[m - 1][j] = str[k][j];}m++;}printf("本次共抽取了%d个人,他们分别是:\n", m - 1);for (int i = 0; i < m - 1; i++){printf(" %s \n", s2[i]);}fclose(fp);return 0;
}

感兴趣的朋友们还可自行添加一些新功能,我就继续下副本了

C语言随机点名器程序相关推荐

  1. c语言随机点名器(源码)

    突发奇想写了个随机点名器-以供使用 随机点名器 main函数 #include "myList.h"#define FILENAME "stu.txt"void ...

  2. c语言随机抽取小程序_C语言整人小程序,慎用,谨记!

    整人啦!!! 哈喽~ 今天有位朋友留言问有没有比较有趣的C语言小程序? 想了想,给你写几个整人的小程序吧,有趣又好玩... 这里一共给你们准备了三个,分别起名为关机.死机.抖动,都给出了代码,整人指数 ...

  3. c语言随机抽奖小程序,小程序抽奖实现

    介绍 最近在微信小程序中实现如下这种抽奖效果. lottery_sample.gif 由这个效果来看, 可以分成三个部分 背景 转盘 抽奖按钮 上面的实现有很多种方法, 很多大神也给出了这种效果的实现 ...

  4. c语言随机抽取小程序_【图片】随机颜色的小程序【c语言吧】_百度贴吧

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 第二波小程序 宋词, 每次打印出一首不同的宋词 /// #include "stdio.h" void delay() { int i ...

  5. 【如何编码实现一个随机点名器】

    目录 随机点名器 任务描述 运行结果 任务目标 实现思路 实现代码 随机点名器 任务描述 编写一个随机点名器的程序,使其能够在全班同学中随机点中某一名同学的名字,随机点名器具备3个功能,包括存储全班同 ...

  6. Java实验01 Java编程基础(猜数字游戏、随机点名器)

    实验一 Java编程基础 实验1-1 随机点名器 一.实验描述 1. 任务描述 编写一个随机点名的程序,使其能够在全班同学中随机点中某一名同学的名字.随机点名器具备3个功能,包括存储全班同学姓名.总览 ...

  7. C语言实现随机点名器

    目录 1.程序描述 2.程序功能 3.功能详细实现过程 学生结构体声明和定义 菜单(menu)函数 文件读取和保存函数 查询函数 点名函数 rand函数 点名函数实现 点名次数归零函数 字体颜色变化函 ...

  8. 基于C语言的随机点名器设计

    基于C语言的随机点名器设计 项目描述 使用C语言,制作一个在命令行运行的点名程序,该程序运行时可指定班级的花名册文件,运行后在界面上显示随机抽取名字的过程,速度由快到慢,逐渐定格到某一个"幸 ...

  9. Java语言 随机点名程序

    任务 编写一个随机点名的程序,使其能够在全班同学中随机点中某一名同学的名字.随机点名器具备3个功能,包括存储全班同学姓名.总览全班同学姓名和随机点取其中一人姓名.比如随机点名器首先分别向班级存入小明. ...

最新文章

  1. 005_JDK的Date类对Comparable接口的实现
  2. 程序一直吐司提示获取缓存记录失败以及吐司显示set Alias success
  3. 图像处理的交并比(IoU)
  4. 英语名词复数的一般构成方法以及读音规则
  5. RIP实验总结之一被动接口和单播更新
  6. php中文切齿,PHP 各种函数
  7. 勇探计算机城堡教学反思,神秘的城堡教学反思
  8. 拥抱开源四年的 .NET,现在怎么样了?
  9. redis cluster所有节点IP修改处理方案
  10. 美国航空航天局(NASA)高度集成WebFOCUS和SharePoint
  11. 简单示例用例(Simple Example Use Cases)--hive GettingStarted用例翻译
  12. 照片编辑工具 Affinity Photo for Mac 1.7.1
  13. Xposed+JustTrustMe解决SSL证书问题
  14. 炫酷又实用的发送邮箱链接修改密码
  15. c语言深度剖析百度云,《C语言深度剖析》笔记
  16. vue和java获取地理位置经纬度
  17. 测试地图最短路径搜索(二):换个稍微复杂点的路径模板
  18. 深入理解halcon相机标定
  19. 动画程序时长缩放是什么意思_Pr预设:2000种文字标题排版指示线图形动画无缝转场剪辑工具包...
  20. 认知计算 Cognitive Computing

热门文章

  1. Django 开发框架学习(一)
  2. pandas 库前置知识
  3. 中国移动家庭智能网关超级账号密码
  4. word保存为pdf文件
  5. P1325 雷达安装
  6. 雅马哈CFX钢琴-Garritan Abbey Road Studios CFX Concert Grand
  7. 《信号与系统》(吴京)部分课后习题答案与解析——第三章(连续LTI系统的时域分析)
  8. 全球及中国金融科技即服务平台行业动态发展与运营规模研究报告2022版
  9. delphi windows操作
  10. lua string库