c#用冒泡排序法对输入的20个数进行降序排序并存入数组中,然后输入一个数,查找该数是否在数组中存在,若存在,打印出数组中对应的下标值。
时间: 2024-12-02 07:19:01 浏览: 34
在C#中,你可以按照以下步骤使用冒泡排序算法对一组数值进行降序排序,并在排序完成后搜索特定数字:
1. **创建数组并输入数据**:
首先,创建一个可以存储20个整数的数组,然后获取用户输入的20个数字并将它们添加到数组中。
```csharp
int[] numbers = new int[20];
for (int i = 0; i < 20; i++)
{
Console.Write("请输入第 " + (i + 1) + " 个数:");
numbers[i] = Convert.ToInt32(Console.ReadLine());
}
```
2. **冒泡排序**:
使用冒泡排序算法对数组进行降序排序。遍历数组多次,每次比较相邻元素,如果前一个元素小于后一个元素,则交换位置。这个过程会反复进行,直到整个数组有序。
```csharp
for (int i = 0; i < numbers.Length - 1;)
{
bool swapped = false;
for (int j = 0; j < numbers.Length - 1 - i; j++)
{
if (numbers[j] < numbers[j + 1])
{
// 交换元素
int temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp;
swapped = true;
}
}
// 如果一轮循环未发生交换,说明已经排序完成
if (!swapped)
break;
i++;
}
```
3. **搜索元素并输出下标**:
完成排序后,询问用户输入一个数字,通过循环遍历数组查找是否存在,找到则返回其索引,不存在则提示找不到。
```csharp
Console.Write("请输入要查找的数字:");
int searchValue = Convert.ToInt32(Console.ReadLine());
for (int index = 0; index < numbers.Length; index++)
{
if (numbers[index] == searchValue)
{
Console.WriteLine("找到了,数字 {0} 的下标是 {1}", searchValue, index);
break;
}
}
if (index == numbers.Length)
{
Console.WriteLine("找不到该数字。");
}
```
阅读全文