C程序设计第六章作业 2
程序员成长之旅 · 程序员成长之旅/C语言/习题(C语言程序设计)/第六章习题 · 216 字
问:
用选择法对10个数排序
参考:演示 选择法排序 算法
答:
#include<stdio.h>
int main() {
int i = 0, j = 0;
int Num[11] = { 56463,124,3211,3543,124,135,6124,751,324,51 };
int Min = 0, flag = 0, Temp = 0;
for (i = 0; i < 10; i++) {
Min = Num[i];//初始值设为正在运行的数
flag = i;//因为后面依赖“flag”做交换 所以献给一个初始值 防止两个数据一样时出错
for (j = i; j < 10; j++) {
if (Num[j] < Min) {
Min = Num[j];
flag = j;//记录当前位置
}
}
//进行交换操作
Temp = Num[i];
Num[i] = Min;
Num[flag] = Temp;
}
for (i = 0, j = 1; i < 10; i++, j++) {
printf("%9d\t", Num[i]);
if (j % 5 == 0) {
printf("\n");
}
}
}
运行结果:
