大家好,我是一个刚刚学c#的
请问:用“起跑法”对输入的10个字符按由小到大的顺序排列。
将字符的转变为数字能不能这样写:eg  a[0]=str[0]   就是说先把字符边成它的ASCII码  比较它的大小  就是比较字符的大小啊
但是中间有写循环我不能搞清楚,哪为帮帮忙。

解决方案 »

  1.   

    using System;namespace ConsoleApplication72
    {
        class Program
        {
            static void Main(string[] args)
            {
                // 字符个数
                int charCount = 10;
                
                // 用户输入
                char[] userChar = new char[charCount];
                Console.Write("请输入{0}个字符:", charCount);
                for (int i = 0; i < charCount; i++)
                    userChar[i] = Console.ReadKey(false).KeyChar;
                
                // 气泡排序
                // 原理:
                // 按索引从小到大比较数组里相邻的两个字符
                // 较大的往后存储,一轮结束后,最大的字符存储在最后边
                // 下一轮排序不再包括此最大的字符
                while (charCount-- > 0)
                    for (int i = 0; i < charCount; )
                        if (userChar[i++] > userChar[i])
                        {
                            char item = userChar[i];
                            userChar[i] = userChar[i - 1];
                            userChar[i - 1] = item;
                        }            // 输出结果
                Console.WriteLine("\n从小到大排序结果是:{0}", new string(userChar));
                Console.ReadKey(true);
            }
        }
    }