基于visual Studio2013解决C语言竞赛题之0506选择排序
题目
解决代码及点评
/************************************************************************/ /* 6. 用选择法对10个整数由大到小排序。 */ /************************************************************************/ #include <stdio.h> #include <stdlib.h> void SortSelect(int * arr,int num) { for (int i=0;i<num;i++) // 遍历所有数 { int min=i; for (int j=i+1;j<num;j++) // 被遍历的那个数,和它后面的所有数进行比较,找出最小的那个数 { if (arr[j]<arr[min]) { min=j; } } if (min!=i) // 最后作交换,把当前最小的数换到当前i的位置 { arr[min]^=arr[i]; arr[i]^=arr[min]; arr[min]^=arr[i]; } } } void printfArr6(int *arr ,int n) { for (int i=0;i<n;i++) { printf("%4d",arr[i]); } printf("\n"); } void main() { int arr[100]={0}; for (int i=0;i<100;i++) { arr[i]=rand()%100; // 产生100个随机数 } printfArr6(arr,100); SortSelect(arr,100); // 选择排序 printfArr6(arr,100); system("pause"); }
代码下载及其运行
代码下载链接:
http://download.csdn.net/detail/yincheng01/6651959
解压密码为c.itcast.cn
下载解压后用VS2013打开工程文件
点击 “本地Windows调试器” 执行
程序运行结果