生活-网络技术分享网

  • 个人日志
  • 代码
  • 系统
  • 网络分享
  • 学习小记
  • 环境搭建
生活-网络技术分享网
欢迎各位dalao
  1. 首页
  2. 代码
  3. 正文

代码一例

2016年1月7日 4236点热度 1人点赞 0条评论

前几天闲来无事,写了一段代码,用来随机抽取的,大家可以试试看~

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
struct
{
char str[20]; //名字
int no; //号码
}a[99]={{" ",0}}; //初始化
int main()
{
FILE *fp;
char ch;
int i,n=0,choice,who;
fp=fopen("name.txt","r");
if(fp==NULL)
{
printf("can not open the file\n");
return 1;
}
while((ch=fgetc(fp))!=EOF)
{
if(ch=='\n')n++; //一行一个名字,计算人数
}
rewind(fp);
for(i=0;i<n;i++)
{
a[i].no=i; //每人对应的号码
fscanf(fp,"%s\n",a[i].str);

}1
1 srand(time(NULL));
for(i=1;i<n;i++)
{
printf("=============\n1.抽取 0.退出\n=============\n");
scanf("%d",&choice);
if(choice==1)
{
loop:
who=rand()%n+1;
if(a[who].no==0)goto loop;
puts(a[who].str);
a[who].no=0; //抽取过的标志为0
}
else break;
}
fclose(fp);
return 0;
}

你需要在同一目录下新建一个“name.txt”,然后在里面写上你需要抽取的姓名,然后编译并运行就可以~~~~~

标签: 暂无
最后更新:2017年2月11日

CloudWzh

CloudWzh,QA&PHP程序猿,腾讯云论坛版主。单机游戏玩咖,曾为百度、联想工作。现就职于网易智慧企业事业部。

点赞
下一篇 >

COPYRIGHT © 2025 生活-网络技术分享网. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备15044634号-1

鲁公网安备 37032202000222号