本帖最后由 秦二江 于 2013-5-24 06:36 编辑
// 去掉重复字符
Console.WriteLine("请输入");
// 1. 接收用户输入
string str = Console.ReadLine();
//2. 将用户输入 转换成 char 数组
char[] strchar = str.ToCharArray();
//3. 定义一个 字典集合 用来接收 去掉用户输入的重复 的字符 后的 字符
Dictionary<int, char> dic = new Dictionary<int, char>();
//4. 用循环 来让前面 的字符 跟 后面的字符 依次相比 一直到最后一个
for (int i = 0; i < strchar.Length; i++)
{
//5. 在 char 下标 范围内 执行 if 结构
if ((i + 1) < strchar.Length)
{
//6. 一开始 就有 连续相等( 像 wwwwfedf 这样 )
if (strchar == strchar[i + 1])
{
//7. 跳过 本次循环,从第二个字符开始 再次循环 即 跳到 4.
continue;
}
}
// 执行到这里 说明 前面没有 相等 ( wwwfedf 即执行到 该让 w 一次于后面的字符相比 )
for (int j = i + 1; j < strchar.Length; j++)
{
// 如果 后面仍然有相等的 则执行 if 结构
if (strchar == strchar[j])
{
// 有相等 ,跳到 aa 标签处 结束 这个子符的 相比
goto aa;
}
}
//( 即 我想取 重复字符中 的最后一个 ,最后一个才会添加 到集合 中)
dic.Add(i, strchar);
aa: ;
}
// 去掉 重复字符 后 的所有字符 都被添加到 字典集合中了,现在遍历 字典集合 ,输出到控制台
foreach (KeyValuePair<int, char> w in dic)
{
Console.Write(w.Value);
}
Console.ReadKey(); |