抓阄的实例
来源:互联网 发布:战地3枪械数据 编辑:程序博客网 时间:2024/05/18 04:00
using System;
namespace ZhuaJiuNS
{
public class ZhuaJiu
{
public static void Main(string[] args)
{
string[] namelist=new string[1];
CreateNamelist(ref namelist);
string[] afternamelist;
Zhua(namelist, out afternamelist );
PrintNameList(afternamelist);
}
public static void CreateNamelist(ref string[] ss)
{
ss = new string[10];
for (int i = 0; i < 10; i++)
{
Console.Write("请输入第" + (i + 1) + "个学生的名字:");
ss[i] = Console.ReadLine();
}
for (int i = 0; i <10; i++)
{
Console.WriteLine(ss[i]);
}
}
public static void Zhua(string[] beforelist, out string[] afterlist)
{
afterlist=new string[1];
int tmpindex = -1;
System.Random ran = new Random();
if (beforelist.Length > 0)
{
Console.WriteLine("开始抓阄了:");
int tmplength=beforelist.Length;
for (int i = 0; i < tmplength; i++)
{
Console.WriteLine("请回车进行一次抓阄!");
Console.ReadLine();
tmpindex = ran.Next(0,beforelist.Length);
Console.WriteLine("本次抓到的人为:"+beforelist[tmpindex ]);
InsertAfterlist(beforelist[tmpindex],ref afterlist);
RemoveFromBforeList(tmpindex, ref beforelist);
}
Console.WriteLine("抓就结束了!!!");
}
}
public static void InsertAfterlist(string insertname, ref string[] afterlist)
{
afterlist[afterlist.Length - 1] = insertname;
//扩充大小
string [] longlist=new string[(afterlist.Length+1)];
for (int i = 0; i < afterlist.Length; i++)
{
longlist[i]=afterlist[i];
}
afterlist= longlist;
longlist = null;
// 扩充完毕
}
public static void RemoveFromBforeList(int removeindex, ref string[] beforelist)
{
if (removeindex == (beforelist.Length - 1))
{
beforelist[removeindex] = "";
}
else
{
int i=0;
for (i = removeindex; i < (beforelist.Length - 1); i++)
{
beforelist[i]=beforelist[i+1];
}
beforelist[i] = "";
}
//大小
//缩减大小
if (beforelist.Length > 1)
{
string[] shortlist = new string[(beforelist.Length - 1)];
for (int i = 0; i < (beforelist.Length - 1); i++)
{
shortlist[i] = beforelist[i];
}
beforelist = shortlist;
shortlist = null;
// 缩减大小完毕
}
else
{
beforelist = null;
}
}
public static void PrintNameList(string[] list)
{
Console.WriteLine("下面输出人员列表:");
for(int i=0;i<list.Length;i++)
{
Console.Write(list[i] + "/t");
//Console.WriteLine(list[i] + "/t");
}
Console.WriteLine();
Console.WriteLine("输出结束!");
Console.ReadLine();
}
}
}
结果要你在控制台运行一下就可以看见了!!!
- 抓阄的实例
- QT5:抓阄器的实现
- bash 脚本写的“抓阄程序”(随机数)
- 随机数生成不重复的一组数(类似于抓阄)
- C# 抓阄 练习,再不济好歹是自已写的,多练练吧,待改进
- C#练习 抓阄
- Spring_1_Bean的实例化实例
- 用实例工厂方法实例化SpringBean的完整实例
- 获取实例是否是某类实例的方法
- perl实例:简单的代码规范化实例
- 一个IPTABLES的实例
- 简单的struts实例
- SOAP的HelloWord实例
- 自定义标签的实例
- hibernate的入门实例
- 专家系统的应用实例
- 查询数据库的实例
- mvc的一个实例
- DIV & VGA & HDMI
- Image sensor
- sql 学习历程(1)
- 儿时的梦想与残酷的现实
- 我的积累
- 抓阄的实例
- HGE系列之四 小试牛刀
- windows7 home basic 安装DB2 Express-C
- CCD 技术应用趋势
- DC系数和AC系数
- 爬泰山了!
- C++运行过程
- 32位cpu的寻址方式
- QQ空间正在内测新应用“看视频”