- 打卡等级:偶尔看看
- 打卡总天数:10
- 打卡月天数:0
- 打卡总奖励:2100
- 最近打卡:2025-05-20 09:38:24
管理员
- 积分
- 2924
|
根据题目描述,打开BlockCode,编写C语言程序完成指定排序算法。
本题分值:50分
考核时间:70分钟
考核方式:实操
考核内容:随机生成20个整数,并将其保存到一维数组中,使用直接选择排序算法对其进行升序排序,输出排序前一维数组和排序后一维数组的内容。
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- void selectionSort(int arr[],int n){
- int i,j,min_idx;
- for(i=0;i<n;i++){
- min_idx = i;
- for(j=i+1;j<n;j++){
- if(arr[j]<arr[min_idx]){
- min_idx=j;
- }
- }
- int temp = arr[min_idx];
- arr[min_idx]=arr[i];
- arr[i]=temp;
- }
- }
- int main(){
- int arr[20];
- int i;
-
- srand(time(NULL));
- for(i=0;i<20;i++){
- arr[i]=rand();
- }
- printf("排序前的数据内容:\n");
- for(i=0;i<20;i++){
- printf("%d ",arr[i]);
- }
- printf("\n");
- selectionSort(arr,20);
- printf("排序后的数组内容:\n");
- for(i=0;i<20;i++){
- printf("%d ",arr[i]);
- }
- printf("\n");
- return 0;
- }
复制代码
|
|