
题目
解决代码及点评
/************************************************************************/
/*
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.youkuaiyun.com/detail/yincheng01/6651959
解压密码为c.itcast.cn
下载解压后用VS2013打开工程文件
点击 “本地Windows调试器” 执行
程序运行结果