C++ 输入20个实数,用选择排序法将它们从大到小排序 所有的变量先声明再使用

发布时间:2023年12月28日

?//输入20个实数,用选择排序法将它们从大到小排序 所有的变量先声明再使用?

//输入20个实数,用选择排序法将它们从大到小排序 所有的变量先声明再使用 
#include <stdio.h>

void selection_sort(double arr[], int n) {
  int i, j, max_idx;
  double max;
  for (i = 0; i < n-1; i++) {
    max = arr[i];
    max_idx = i;
    for (j = i+1; j < n; j++) {
      if (arr[j] > max) {
        max = arr[j];
        max_idx = j;
      }
    }
    if (max_idx != i) {
      arr[max_idx] = arr[i];
      arr[i] = max;
    }
  }
}

int main() {
  double arr[20];
  int i;
  printf("请输入20个实数:\n");
  for (i = 0; i < 20; i++) {
    scanf("%lf", &arr[i]);
  }
  selection_sort(arr, 20);
  printf("排序后的结果为:\n");
  for (i = 0; i < 20; i++) {
    printf("%.2lf ", arr[i]);
  }
  printf("\n");
  return 0;
}

文章来源:https://blog.csdn.net/laocooon/article/details/135275581
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。