初学者,求解决求帮助求大腿,最好配代码,【在线等马上结贴】 本帖最后由 daiwei3441 于 2014-06-11 17:16:44 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 换成list,显示后移除static void Main(string[] args) { List<string> baijie = new List<string> { "李欢", "龚丽", "谭显亮", "王涛", "徐荣辉", "刘烨", "郑权恒", "廖伟", "郭威", "李襑" }; Console.WriteLine("国信安百杰47部抓阄程序"); Console.WriteLine("显示全体成员姓名"); for (int i = 0; i < baijie.Count; i++) { Console.Write(baijie[i] + "\t"); } Console.WriteLine("开始抓阄"); Console.WriteLine("请按下回车键"); while(baijie.Count>0) { Console.ReadLine(); Random rand = new Random(); int num = rand.Next(baijie.Count); Console.WriteLine(baijie[num]);baijie.RemoveAt(num); } Console.WriteLine(); Console.WriteLine("本次抓阄结束"); } using system.collection;static void Main(string[] args) { ArrayList baijie =new ArrayList (); baijie.add("李欢"); ....... baijie.add("李襑"); Console.WriteLine("国信安百杰47部抓阄程序"); Console.WriteLine("显示全体成员姓名"); for (int i = 0; i < baijie.Count; i++) { Console.Write(baijie[i].ToString() + "\t"); } Console.WriteLine("开始抓阄"); Console.WriteLine("请按下回车键"); for (int j = 0; j < 10; j++) { Console.ReadLine(); Random rand = new Random(); int num = rand.Next(0,baijie.Count-1); Console.WriteLine(baijie[num].ToString()); baijie.Remove(baijie[num].ToString()); } Console.WriteLine(); Console.WriteLine("本次抓阄结束"); } 直接求代码? 你不是求学者... 你来错地方了 应该去神马猪八戒 TaskCity之类的地方去发 能用数组做么,我们老师只教到这,还没教list集合呢 能用数组做么,我们老师只教到这,还没教list集合呢 显示后清空 int num = rand.Next(10);while(baijie[num]==""){num = rand.Next(10);} Console.WriteLine(baijie[num]);baijie[num]=""; 你就是所谓的CSDN的优越狗了? static void Main(string[] args) { string[] baijie = new string[10] { "李欢", "龚丽", "谭显亮", "王涛", "徐荣辉", "刘烨", "郑权恒", "廖伟", "郭威", "李襑" };/*给你修改的部分其实不难*/int 暂存=0; Console.WriteLine("国信安百杰47部抓阄程序"); Console.WriteLine("显示全体成员姓名"); for (int i = 0; i < baijie.Length; i++) { Console.Write(baijie[i] + "\t"); } Console.WriteLine("开始抓阄"); Console.WriteLine("请按下回车键"); for (int j = 0; j < baijie.Length; j++) { Console.ReadLine(); Random rand = new Random(); int num= rand.Next(10);if(暂存==num)num=(num+暂存)%10; Console.WriteLine(baijie[num]);暂存=num ; } Console.WriteLine(); Console.WriteLine("本次抓阄结束"); }一个名字抓阄控制台程序,现在要求抓出来的人就不要在显示出来了直到最后一个,Console.WriteLine("本次抓阄结束");求别个我说在加个数组,在加个循环,请直接改改代码,多谢大大。 if(暂存==num)把判断不要掉num=(num+暂存)%10; 这是我最兴趣的题了,哈哈,还以为要花费一点精力和时间,结果没什么挑战性.就用你的在一个循环内解决掉,几分钟时间而已. string[] baijie = new string[10] { "李欢", "龚丽", "谭显亮", "王涛", "徐荣辉", "刘烨", "郑权恒", "廖伟", "郭威", "李襑" }; bool 控制 = true; Console.WriteLine("国信安百杰47部抓阄程序"); Console.WriteLine("显示全体成员姓名"); for (int i = 0; i < baijie.Length; i++) { Console.Write(baijie[i] + "\t"); } Console.WriteLine("开始抓阄"); Console.WriteLine("请按下回车键"); for (int j = 0; j < baijie.Length;) { if (控制) Console.ReadLine(); Random rand = new Random(); int num = rand.Next(10); if (baijie[num] != "") { Console.WriteLine(baijie[num]); baijie[num] = ""; j++; 控制 = true; } else 控制 = false; } Console.WriteLine(); Console.WriteLine("本次抓阄结束"); 方法有好些,比如list,找到1个后就移除。 static void Main(string[] args) { string[] baijie = new string[10] { "李欢", "龚丽", "谭显亮", "王涛", "徐荣辉", "刘烨", "郑权恒", "廖伟", "郭威", "李襑" }; Console.WriteLine("国信安百杰47部抓阄程序"); Console.WriteLine("显示全体成员姓名"); for (int i = 0; i < baijie.Length; i++) { Console.Write(baijie[i] + "\t"); } Console.WriteLine("开始抓阄"); Console.WriteLine("请按下回车键"); for (int j = 0; j < baijie.Length; j++) { Console.ReadLine(); Random rand = new Random(); int num = rand.Next(10); while (baijie[num] == "这个num已经被抓过") { num = rand.Next(10);//如果这个num已经被抓过,那么重新给num赋值一个随机数,直到baijie[num]!= "这个num已经被抓过" } Console.WriteLine(baijie[num]); baijie[num] = "这个num已经被抓过"; //标记这个num被抓过 } Console.WriteLine(); Console.WriteLine("本次抓阄结束"); Console.ReadLine(); } 另外List直接move掉也不错 看完楼上各位的方法,简直佩服,并且越发喜欢程序员这个职业。我来总结下,主要为两种思路,三种方法实现。一、输出后移除数组 1)使用listarray.remove移除二、判断数值是否已经被使用过(感觉好浪费资源) 1)循环里面再嵌套循环,跟下面的原理一样,但是这个方法只循环了赋值和判断。 2)使用普通数组的,给对应数值赋值为空或其他特定值,在for循环里加入判断,如果数值为空,则重新开始循环。PS:鄙视伸手党 你就是所谓的CSDN的优越狗了? 好屌,来教代码还这态度,现在的孩子。。 很好,比那些MVP混分党好多了,多谢 呵呵 本来就是很简单的题目 结果我被批成优越狗了其实我没那么优越 知识以过来人的身份告诉你要学会动脑动手这题目有多难? 好方法想不到 笨办法总是有吧不造现在的孩子有多浮躁CSDN都快成了代写作业俱乐部了 C# 注册表 验证软件有效期问题 求助!使用vs2008对窗体打包,现在源程序没有了!就剩下msi! 关于web.config的路径配置 在C#中抛出异常 access数据库的查找问题 arraylist 内元素 排序 GridControl插入更新 求学习C#时的习题和答案~~~还有C#电子书的FTP下载 用WMI中的类共享文件夹时,发现被共享的文件夹根本无法访问! 水晶报表-关于分组显示的问题·急 知道js文件的绝对路径,如何通过代码获取该文件呢? C#如何为程序绑定mac地址 ,实现此程序只能在特定的电脑上运行
static void Main(string[] args)
{
List<string> baijie = new List<string> { "李欢", "龚丽", "谭显亮", "王涛", "徐荣辉", "刘烨", "郑权恒", "廖伟", "郭威", "李襑" };
Console.WriteLine("国信安百杰47部抓阄程序");
Console.WriteLine("显示全体成员姓名");
for (int i = 0; i < baijie.Count; i++)
{
Console.Write(baijie[i] + "\t");
}
Console.WriteLine("开始抓阄");
Console.WriteLine("请按下回车键");
while(baijie.Count>0)
{
Console.ReadLine();
Random rand = new Random();
int num = rand.Next(baijie.Count);
Console.WriteLine(baijie[num]);
baijie.RemoveAt(num);
}
Console.WriteLine();
Console.WriteLine("本次抓阄结束");
}
using system.collection;
static void Main(string[] args)
{
ArrayList baijie =new ArrayList ();
baijie.add("李欢");
.......
baijie.add("李襑");
Console.WriteLine("国信安百杰47部抓阄程序");
Console.WriteLine("显示全体成员姓名");
for (int i = 0; i < baijie.Count; i++)
{
Console.Write(baijie[i].ToString() + "\t");
}
Console.WriteLine("开始抓阄");
Console.WriteLine("请按下回车键");
for (int j = 0; j < 10; j++)
{
Console.ReadLine();
Random rand = new Random();
int num = rand.Next(0,baijie.Count-1);
Console.WriteLine(baijie[num].ToString());
baijie.Remove(baijie[num].ToString());
}
Console.WriteLine();
Console.WriteLine("本次抓阄结束");
}
while(baijie[num]=="")
{
num = rand.Next(10);
}
Console.WriteLine(baijie[num]);
baijie[num]="";
static void Main(string[] args)
{
string[] baijie = new string[10] { "李欢", "龚丽", "谭显亮", "王涛", "徐荣辉", "刘烨", "郑权恒", "廖伟", "郭威", "李襑" };
/*给你修改的部分其实不难*/int 暂存=0;
Console.WriteLine("国信安百杰47部抓阄程序");
Console.WriteLine("显示全体成员姓名");
for (int i = 0; i < baijie.Length; i++)
{
Console.Write(baijie[i] + "\t");
}
Console.WriteLine("开始抓阄");
Console.WriteLine("请按下回车键");
for (int j = 0; j < baijie.Length; j++)
{
Console.ReadLine();
Random rand = new Random();
int num= rand.Next(10);
if(暂存==num)num=(num+暂存)%10;
Console.WriteLine(baijie[num]);
暂存=num ;
}
Console.WriteLine();
Console.WriteLine("本次抓阄结束");
}一个名字抓阄控制台程序,现在要求抓出来的人就不要在显示出来了直到最后一个,Console.WriteLine("本次抓阄结束");
求别个我说在加个数组,在加个循环,请直接改改代码,多谢大大。
num=(num+暂存)%10;
bool 控制 = true;
Console.WriteLine("国信安百杰47部抓阄程序");
Console.WriteLine("显示全体成员姓名");
for (int i = 0; i < baijie.Length; i++)
{
Console.Write(baijie[i] + "\t");
}
Console.WriteLine("开始抓阄");
Console.WriteLine("请按下回车键");
for (int j = 0; j < baijie.Length;)
{
if (控制) Console.ReadLine();
Random rand = new Random();
int num = rand.Next(10);
if (baijie[num] != "")
{
Console.WriteLine(baijie[num]);
baijie[num] = "";
j++;
控制 = true;
}
else 控制 = false;
}
Console.WriteLine();
Console.WriteLine("本次抓阄结束");
static void Main(string[] args)
{
string[] baijie = new string[10] { "李欢", "龚丽", "谭显亮", "王涛", "徐荣辉", "刘烨", "郑权恒", "廖伟", "郭威", "李襑" };
Console.WriteLine("国信安百杰47部抓阄程序");
Console.WriteLine("显示全体成员姓名");
for (int i = 0; i < baijie.Length; i++)
{
Console.Write(baijie[i] + "\t");
}
Console.WriteLine("开始抓阄");
Console.WriteLine("请按下回车键");
for (int j = 0; j < baijie.Length; j++)
{
Console.ReadLine();
Random rand = new Random();
int num = rand.Next(10);
while (baijie[num] == "这个num已经被抓过")
{
num = rand.Next(10);//如果这个num已经被抓过,那么重新给num赋值一个随机数,直到baijie[num]!= "这个num已经被抓过"
}
Console.WriteLine(baijie[num]);
baijie[num] = "这个num已经被抓过"; //标记这个num被抓过
}
Console.WriteLine();
Console.WriteLine("本次抓阄结束");
Console.ReadLine();
}
另外List直接move掉也不错
1)使用listarray.remove移除
二、判断数值是否已经被使用过(感觉好浪费资源)
1)循环里面再嵌套循环,跟下面的原理一样,但是这个方法只循环了赋值和判断。
2)使用普通数组的,给对应数值赋值为空或其他特定值,在for循环里加入判断,如果数值为空,则重新开始循环。PS:鄙视伸手党
要学会动脑动手这题目有多难? 好方法想不到 笨办法总是有吧不造现在的孩子有多浮躁CSDN都快成了代写作业俱乐部了