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