主题:求助!!!C#
woshibai520
[专家分:10] 发布于 2006-09-19 17:06:00
用c# 怎样实现在字符串中随机抽取10个不重复的字符
回复列表 (共20个回复)
11 楼
willzhanglala [专家分:1350] 发布于 2006-10-09 17:17:00
是不是还应该判断这个字符串本身就有10个不同的字符???
12 楼
lxj303211 [专家分:30] 发布于 2006-10-09 19:31:00
13 楼
lxj303211 [专家分:30] 发布于 2006-10-09 19:32:00
请问一下十楼的该怎样去掉重复的字符呢?
14 楼
lxj303211 [专家分:30] 发布于 2006-10-09 19:33:00
请问一下十楼的该怎样去掉重复的字符呢?
15 楼
lxj303211 [专家分:30] 发布于 2006-10-09 19:34:00
请问一下十楼的去掉重复的字符该怎样的实现?
16 楼
ren123 [专家分:10] 发布于 2006-10-12 22:43:00
using System;
using System.Collections.Generic;
using System.Text;
namespace _0_0Chars
{
class Program
{
static void Main(string[] args)
{
Random r = new Random();
char[] ch = new char[10];
for (int i = 0; i < ch.Length; i++)
{
ch[i] = Convert.ToChar(r.Next(97, 123));
Console.Write(ch[i]);
}
Console.Read();
}
}
}
这个应该可以的
我再我的电脑上调试了可以的
17 楼
lxj303211 [专家分:30] 发布于 2006-10-13 08:44:00
还是有重复的字符
18 楼
woshibai520 [专家分:10] 发布于 2006-10-13 09:28:00
using System;
using System.Collections;
using System.Text;
namespace ConsoleApplication3
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
string strOne= "零,一,二,三,四,五,六,七,八,九,十,百,千,万,亿,兆";
string[] al = new string[16];
string[] old =new string[10];
int tmp = 0;
Random rd = new Random();
int k =rd.Next(0,strOne.Length-1);
al= strOne.Split(',');
for (int j = 0; j < 10; j++)
{
NO10:
tmp = rd.Next(al.Length);
string tmp02 = al[tmp].ToString();
for(int i = 0;i <= j ; i++)
{
if(" " + tmp02.ToString() != (" "+old[i]).ToString() && i==j)
{
old[j] = tmp02.ToString();
}
if(tmp02.ToString() == old[i].ToString() && i!=j)
{
tmp = rd.Next(al.Length);
tmp02 = al[tmp].ToString();
goto NO10;
}
}
}
string strOut= string.Empty;
for(int o = 0; o < old.Length ; o++)
{
strOut +=old[o]+";";
}
System.Console.WriteLine(strOut);
System.Console.ReadLine();
}
}
}
19 楼
lory419 [专家分:370] 发布于 2006-11-18 09:42:00
Random r = new Random();
r.Next();
20 楼
nameizhi [专家分:70] 发布于 2006-11-19 16:50:00
char []ch=new ch[10];
Random r=new Romdom(Datetime.Now.Mil);
for(int i=0;i<10;i++)
{
ch[i]=r.next(0,26);
}
注:Datetime.Now.Mil这句话可能单词写得不对,但是用C#工具可以找到。。。
这是给一个随机种子。。。。
我来回复