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();
}
}
}
结果要你在控制台运行一下就可以看见了!!!