如何使用C#来排列字母

我想请问一下 在C#中如何将"a, d, c, e, b"排列成abcde?
我知道可以用sort来解决
但是我比较想了解如何使用for loop去解决
因为我的基础比较不好 所以想知道如何用最基本的方法解决
可以的话麻烦请解释一下 谢谢各位了

第1个回答  推荐于2016-01-22
char[] arr = { 'a', 'd', 'c', 'e', 'b' };
for (int i = 0; i < arr.Length; i++)
{
for (int j = 1; j < arr.Length - i; j++)
{
if ((int)arr[j] < (int)arr[j - 1])
{
char tem = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tem;
}
}
}
foreach (char c in arr)
{
System.Console.Write(c);
}

System.Console.Read();追问

你好 谢谢你的解答
不过如果可以的话 可以麻烦你稍微解释一下这两个for loop是怎麼把字母按照顺序排列的嘛?
感谢

追答

呃...这个就是冒泡排序啊。从百度给你复制了一下说明,你看看先:
冒泡排序算法的运作如下:

比较相邻的元素。
1.如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3.针对所有的元素重复以上的步骤,除了最后一个。
4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

追问

谢谢你的解答!

追答

哥们,解决了问题请采纳,谢谢。

本回答被提问者采纳
第2个回答  2014-01-02
        static void Main(string[] args)
        {
            char[] cs = new char[] { 'a', 'd', 'c', 'e', 'b' };
            //转换成list就可以排序了
            List<char> lst = cs.ToList();
            lst.Sort();

            foreach (char c in lst)
                Console.Write(c.ToString() + '\t');

            Console.ReadLine();
        }

追问

这个我知道 但是有办法不使用sort去解决嘛? 感谢

追答

那你自己去网上查排序算法不就行了?最简单冒泡排序,网上很多,不需要我在这里写了。我看了你对[paperkey]的答案的追问,有点无语了,一般情况下我们只能给你实现什么功能,但不能保证让你完全理解,需要自己去领悟的。

追问

你好 不好意思喔 因为我其实真的不太清楚有冒泡排序这个算法
之前学校有教过类似的算法 但当时老师的教法我实在是没有听懂
直到你们现在跟我说冒泡排序 我才知道这个方法叫冒泡排序...
现在我懂得差不多了 感谢

追答

这样说吧,排序是算法书种最常见,最经典的部分,教程多如牛毛,和C#或者某种特定语言都没有关系,你何必问C#应该怎么排呢?网上应该是C语言的最多,自己去查查就知道了。

第3个回答  2014-01-02
static void Main(string[] args) { const int size = 50; Console.WriteLine("How many strings will be sort?\nPlease input the num:"); int num = Convert.ToUInt16(Console.ReadLine()); string[] strarray = new string[size];//定义字符串数组 sort(strarray, num); Console.ReadKey(); } static void sort(string[] str, int num) { Console.WriteLine("Please input the string:\n");//输入数据 for (int i = 0; i < num; i++) { Console.WriteLine("Input the No.{0}", i + 1); str[i] = Console.ReadLine(); } Console.WriteLine(" ______________________________________\n");//分割线 for (int j = 0; j < num; j++) //排序过程 for (int i = 0; i < num - j - 1; i++) { if (string.CompareOrdinal(str[i], str[i + 1]) > 0) { string temp = str[i]; str[i] = str[i + 1]; str[i + 1] = temp; } } Console.WriteLine("After the Sort:");//输入排序之后的字符串 for (int i = 0; i < num; i++) { Console.WriteLine("{0}\n", str[i]); }}

C#里怎么按照字母排序
static void Main(string[] args){ const int size = 50;Console.WriteLine("How many strings will be sort?\\nPlease input the num:");int num = Convert.ToUInt16(Console.ReadLine());string[] strarray = new string[size];\/\/定义字符串数组 sort(strarray, num);Console.ReadKey();}...

如何使用C#来排列字母
char[] arr = { 'a', 'd', 'c', 'e', 'b' };for (int i = 0; i < arr.Length; i++){ for (int j = 1; j < arr.Length - i; j++){ if ((int)arr[j] < (int)arr[j - 1]){ char tem = arr[j];arr[j] = arr[j - 1];arr[j - 1] = tem;} } ...

c#程序 利用26个英文字母实现排序,可以重复例如10个a,排序长度要求10位...
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { \/\/英文字母的字典 string[] str = { "aA", "bB", "cV", "dD", "eE",...

c#中怎样按姓名的字母表顺序排名
楼上说的对,如果是从数据库中读取数据,查询时按照姓名列进行排序,在查询语句后面加上 order by name数据;(默认按姓的拼音字母表顺序排序)如果是从集合对象里如DataTable里面,也可以进行按姓名排序,不过有点麻烦,如下:DataTable dt=获取数据集合;DataRow[] filter = dt.Select(" zcbm is no...

C#中如何让字母递增?ABCD
可以加1再转换成Char类型 如果用个FOR循环的话 可以 for(i=0;i<某个数;i++){ String 字母=Convert.ToChar('A'+i);Response.write(字母);} 那么就可以让字母递增

如何用C#语言循环语句输出26个字母
C语言的标准字符库ascll,使用for循环打印输出26个大小写字母

如何用c#实现多为字母的遍历。比如 长度为1时,输出 a b c e ...z...
\/ public static void main(String[] args) { \/\/ TODO Auto-generated method stub \/\/ 无特殊要求,从a至z \/\/ show(3);\/\/ 特殊要求,从value1至value2,不支持跨类型遍历,例如1到a,a到Z show(2, "Z", "A");} \/ 打印遍历结果 param length 遍历的字符串长度 \/ public static void...

c#如何输入子母大写字母?
include<stdio.h> int main(){ char ch;printf("请输入一个大写子母:");ch=getchar();ch=ch+32;printf("%c,%d\\n",ch,ch);return 0;}

如何用c#实现大小写字母转换?
1、首先,定义两个字符变量z和Z,用以保存转换的字符。2、接着,定义一个整型变量n,保存用来转换的ASCII码。3、把n的值赋给变量z,实现字符的转换。4、输出窗口中,输出将ASCII码转换为的字符。5、给变量n重新赋值,其值为大写字母的ASCII码。6、将ASCII码转换为对应的大写英文字母,并在输出窗口...

如何用C#编写一个应用程序,将大写字母改为小写,小写字母改为大写,然后...
转小写ToLower()转大写ToUpper()把输入的字符串存进字符数组里 用Sort()函数排序

相似回答
大家正在搜