用C++将一组数据从大到小排列后输出,要求显示每个元素及它们在原数组中的下标
时间: 2023-05-23 13:04:34 浏览: 296
将一个数组的所有元素排序后输出
5星 · 资源好评率100%
A:以下是用C语言实现将一组数据从大到小排列并显示每个元素及它们在原数组中的下标的代码:
```c
#include <stdio.h>
void bubbleSort(int arr[], int len);
void printArray(int arr[], int len);
int main() {
int arr[] = {10, 2, 8, 5, 9};
int len = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, len);
printArray(arr, len);
return 0;
}
void bubbleSort(int arr[], int len) {
int i, j, temp;
for (i = 0; i < len - 1; i++)
for (j = 0; j < len - 1 - i; j++)
if (arr[j] < arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
void printArray(int arr[], int len) {
int i;
for (i = 0; i < len; i++)
printf("arr[%d] = %d\n", i, arr[i]);
}
```
输出结果如下:
```
arr[0] = 10
arr[1] = 9
arr[2] = 8
arr[3] = 5
arr[4] = 2
```
其中,bubbleSort()函数使用冒泡排序算法对数组进行从大到小排序,printArray()函数用于以特定格式输出数组元素及其下标。
阅读全文