怎样用选择法对十个数进行排序
//前面的不知道for (i=1;i<=10;i++) scanf("%d",&data[i]));
for(i=1;i<=9;i++) {
post=i;
for(j=i+1;j<=10;j++)
if(data[j]<data[post])post=j;
if(post!=i){
t=data[i];data[i]=data[post];data[post]=t;
}
}
//后面的也不知道
// ConsoleProgramTest.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <time.h> #include <stdlib.h> #define NUMBER 1000 /* * 打印数组 */ void print(int *array, int size) { for (int i = 0;i < size;i++) { printf_s("%5d", *(array + i)); } printf_s("\n"); } /* * 使用随机数初始化数组 */ void InitArray(int *array, int size) { srand(time(0)); for (int i = 0;i < size;i++) { *(array + i) = rand() % NUMBER; } } void ChooseMaxNSort(int *array, const int maxNum, const int size) { for (int i = 0;i < maxNum;i++) for (int j = i + 1;j < size;j++) { if (*(array + i) < *(array + j)) { int tmpValue = *(array + i); *(array + i) = *(array + j); *(array + j) = tmpValue; } } } /* * 主函数 */ int _tmain(int argc, _TCHAR* argv[]) { const int size = 20; int ans[size] = { 0 }; InitArray(ans, sizeof(ans) / sizeof(int)); printf_s("排序前:\n"); print(ans, sizeof(ans) / sizeof(int)); // 选择排序 ChooseMaxNSort(ans, 10, size); printf_s("排序前:\n"); print(ans, sizeof(ans) / sizeof(int)); return 0; }