C语言随机点名器程序
//一个随机点名器程序,因为代码量较少,我就没有封装函数#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语言随机点名器程序相关推荐
- c语言随机点名器(源码)
突发奇想写了个随机点名器-以供使用 随机点名器 main函数 #include "myList.h"#define FILENAME "stu.txt"void ...
- c语言随机抽取小程序_C语言整人小程序,慎用,谨记!
整人啦!!! 哈喽~ 今天有位朋友留言问有没有比较有趣的C语言小程序? 想了想,给你写几个整人的小程序吧,有趣又好玩... 这里一共给你们准备了三个,分别起名为关机.死机.抖动,都给出了代码,整人指数 ...
- c语言随机抽奖小程序,小程序抽奖实现
介绍 最近在微信小程序中实现如下这种抽奖效果. lottery_sample.gif 由这个效果来看, 可以分成三个部分 背景 转盘 抽奖按钮 上面的实现有很多种方法, 很多大神也给出了这种效果的实现 ...
- c语言随机抽取小程序_【图片】随机颜色的小程序【c语言吧】_百度贴吧
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 第二波小程序 宋词, 每次打印出一首不同的宋词 /// #include "stdio.h" void delay() { int i ...
- 【如何编码实现一个随机点名器】
目录 随机点名器 任务描述 运行结果 任务目标 实现思路 实现代码 随机点名器 任务描述 编写一个随机点名器的程序,使其能够在全班同学中随机点中某一名同学的名字,随机点名器具备3个功能,包括存储全班同 ...
- Java实验01 Java编程基础(猜数字游戏、随机点名器)
实验一 Java编程基础 实验1-1 随机点名器 一.实验描述 1. 任务描述 编写一个随机点名的程序,使其能够在全班同学中随机点中某一名同学的名字.随机点名器具备3个功能,包括存储全班同学姓名.总览 ...
- C语言实现随机点名器
目录 1.程序描述 2.程序功能 3.功能详细实现过程 学生结构体声明和定义 菜单(menu)函数 文件读取和保存函数 查询函数 点名函数 rand函数 点名函数实现 点名次数归零函数 字体颜色变化函 ...
- 基于C语言的随机点名器设计
基于C语言的随机点名器设计 项目描述 使用C语言,制作一个在命令行运行的点名程序,该程序运行时可指定班级的花名册文件,运行后在界面上显示随机抽取名字的过程,速度由快到慢,逐渐定格到某一个"幸 ...
- Java语言 随机点名程序
任务 编写一个随机点名的程序,使其能够在全班同学中随机点中某一名同学的名字.随机点名器具备3个功能,包括存储全班同学姓名.总览全班同学姓名和随机点取其中一人姓名.比如随机点名器首先分别向班级存入小明. ...
最新文章
- 005_JDK的Date类对Comparable接口的实现
- 程序一直吐司提示获取缓存记录失败以及吐司显示set Alias success
- 图像处理的交并比(IoU)
- 英语名词复数的一般构成方法以及读音规则
- RIP实验总结之一被动接口和单播更新
- php中文切齿,PHP 各种函数
- 勇探计算机城堡教学反思,神秘的城堡教学反思
- 拥抱开源四年的 .NET,现在怎么样了?
- redis cluster所有节点IP修改处理方案
- 美国航空航天局(NASA)高度集成WebFOCUS和SharePoint
- 简单示例用例(Simple Example Use Cases)--hive GettingStarted用例翻译
- 照片编辑工具 Affinity Photo for Mac 1.7.1
- Xposed+JustTrustMe解决SSL证书问题
- 炫酷又实用的发送邮箱链接修改密码
- c语言深度剖析百度云,《C语言深度剖析》笔记
- vue和java获取地理位置经纬度
- 测试地图最短路径搜索(二):换个稍微复杂点的路径模板
- 深入理解halcon相机标定
- 动画程序时长缩放是什么意思_Pr预设:2000种文字标题排版指示线图形动画无缝转场剪辑工具包...
- 认知计算 Cognitive Computing