C# 控制台程序 如何从一维数组中随机取出n个不重复的元素
1个回答
展开全部
如果要取出,用集合比较简单,因为不知道到底有几个不重复的,得动态添加。
输出的话下面的程序可以实现:
//测试数组
String[] strArray = {"a","b","b","c","d","e","e","e","f","g","k"};
String tempChar = "";//临时用于保存重复的字符的变量
for (int i = 0; i < strArray.Length; i++) //吧所有重复的都找出来
{
//比较每一个字符,注意j=(i+1),表示从该字符的下一个字符开
//始查找,避免比较字符本身
for (int j = (i+1); j < strArray.Length; j++)
{
if (strArray[i] == strArray[j]) //如果字符重复
{
tempChar = strArray[i];//记下这个字符
break;//内存循环可以退出了,因为已经找到重复字符了
}
}
if (tempChar == strArray[i])//拿重复字符做蓝本比较
{
continue;//重复的话就继续循环,不输出它
}
else
{
Console.WriteLine(strArray[i]);//不重复就输出它吧
}
}
输出的话下面的程序可以实现:
//测试数组
String[] strArray = {"a","b","b","c","d","e","e","e","f","g","k"};
String tempChar = "";//临时用于保存重复的字符的变量
for (int i = 0; i < strArray.Length; i++) //吧所有重复的都找出来
{
//比较每一个字符,注意j=(i+1),表示从该字符的下一个字符开
//始查找,避免比较字符本身
for (int j = (i+1); j < strArray.Length; j++)
{
if (strArray[i] == strArray[j]) //如果字符重复
{
tempChar = strArray[i];//记下这个字符
break;//内存循环可以退出了,因为已经找到重复字符了
}
}
if (tempChar == strArray[i])//拿重复字符做蓝本比较
{
continue;//重复的话就继续循环,不输出它
}
else
{
Console.WriteLine(strArray[i]);//不重复就输出它吧
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询