怎么去除多余重复字母?
static void Main(string[] args)
{
string str;
char c;
int num = 0;
str = Console.ReadLine();
for (int i = 0; i < str.Length; i++)
{
c = str[i];
// Console.WriteLine(c);
if ((int)c >= 'a' && (int)c <= 'z' || (int)c >= 'A' && (int)c <= 'Z')
{
{
Console.WriteLine("{0}", c);
num++;
}
}
}
Console.Write("输入字符串中字母的个数:{0}",num);
Console.ReadKey();
}
基于new Bing 的回答:
要去除多余的重复字母,可以使用以下C#代码:
string input = "abbcccddddeeeee";
string output = new string(input.Distinct().ToArray());
Console.WriteLine(output);
这里使用了字符串的 Distinct() 方法,该方法返回一个新的字符串,其中包含输入字符串中不同的字符,而且只保留第一个出现的字符。然后使用 ToArray() 方法将结果转换为字符数组,再用 new string() 构造函数将其转换为一个新的字符串。在上述示例中,输出结果将是 "abcde",其中每个字符只出现一次,多余的重复字母已被删除。
不知道你这个问题是否已经解决, 如果还没有解决的话:数组排序只需要使用Array.Sort()
方法即可,默认是升序
Array.Sort(newArr);//排序,升序
若想降序排序,当然可以,只需要加一行代码就可以实现,代码如下:
Array.Reverse(nums);//反转
下面是一道水题,使用了数组去重和排序的方法
使用C#实现:
using System;
using System.Collections.Generic;
using System.Linq;
namespace DI1026sort
{
class Program
{
static void Main(string[] args)
{
int n = int.Parse(Console.ReadLine());
var str = Console.ReadLine().Split(' ');
int[] num = new int[n];
for(var i = 0; i < n; i++)
{
num[i] = Convert.ToInt32(str[i].ToString());
}
List<int> list = num.ToList();
List<int> newList = list.Distinct().ToList();
int[] newArr = newList.ToArray();
Array.Sort(newArr);
Console.WriteLine(newArr.Length);
for(var i = 0; i < newArr.Length; i++)
{
Console.Write("{0} ",newArr[i]);
}
//Console.ReadKey();
}
}
}