找回密码
 立即注册
搜索
热搜: Python Java C Html PHP
查看: 43|回复: 0

编程 随机生成20个整数 升序排序 输出排序前后

[复制链接]
  • 打卡等级:偶尔看看
  • 打卡总天数:10
  • 打卡月天数:0
  • 打卡总奖励:2100
  • 最近打卡:2025-05-20 09:38:24

28

主题

9

回帖

2924

积分

管理员

积分
2924
发表于 2025-5-20 09:56:21 | 显示全部楼层 |阅读模式
根据题目描述,打开BlockCode,编写C语言程序完成指定排序算法。
本题分值:50分
考核时间:70分钟
考核方式:实操
考核内容:随机生成20个整数,并将其保存到一维数组中,使用直接选择排序算法对其进行升序排序,输出排序前一维数组和排序后一维数组的内容。
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>

  4. void selectionSort(int arr[],int n){
  5.         int i,j,min_idx;
  6.         for(i=0;i<n;i++){
  7.                 min_idx = i;
  8.                 for(j=i+1;j<n;j++){
  9.                         if(arr[j]<arr[min_idx]){
  10.                                 min_idx=j;
  11.                         }
  12.                 }
  13.                 int temp = arr[min_idx];
  14.                 arr[min_idx]=arr[i];
  15.                 arr[i]=temp;
  16.         }
  17. }

  18. int main(){
  19.         int arr[20];
  20.         int i;
  21.        
  22.         srand(time(NULL));
  23.         for(i=0;i<20;i++){
  24.                 arr[i]=rand();
  25.         }
  26.         printf("排序前的数据内容:\n");
  27.         for(i=0;i<20;i++){
  28.                 printf("%d ",arr[i]);
  29.         }
  30.         printf("\n");
  31.         selectionSort(arr,20);
  32.         printf("排序后的数组内容:\n");
  33.         for(i=0;i<20;i++){
  34.                 printf("%d ",arr[i]);
  35.         }
  36.         printf("\n");
  37.         return 0;
  38. }
复制代码


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|HELIXABYSS

GMT+8, 2025-7-2 13:32 , Processed in 0.118419 second(s), 19 queries .

Powered by Discuz! X3.5

© 2024-2025 HELIXABYSS

快速回复 返回顶部 返回列表