#define MAXlen 100void select_sort(int *x, int n) { //选择排序 int i, j, min; int t;
for (i = 0; i < n - 1; i++) { // 要选择的次数:0~n-2共n-1次 min = i; // 假设当前下标为i的数最小,比较后再调整 for (j = i + 1; j < n; j++) { //循环找出最小的数的下标是哪个 if (*(x + j) < *(x + min)) {
min = j; // 如果后面的数比前面的小,则记下它的下标 } }
if (min != i) { // 如果min在循环中改变了,就需要交换数据 t = *(x + i);
*(x + i) = *(x + min); *(x + min) = t; } } }
int main() { int i;
int iArr[MAXlen];
srand((unsigned int)time(NULL)); printf(\"\\n排序前:\\n\"); for(i = 0 ; i < MAXlen ; i++) { iArr[i] = (unsigned int)rand() % 1000; if(i % 10 == 0) printf(\"%\\n\"); printf(\"%5d\
} printf(\"\\n\"); select_sort(iArr,MAXlen); printf(\"\\n排序后:\\n\"); for(i = 0 ; i < MAXlen ; i++) { if(i % 10 == 0) printf(\"%\\n\"); printf(\"%5d\ } printf(\"\\n\\n\"); return 0; } 三、实验小结:3通过这次试验我对于指针、指针变量、数组、字符串及一位 数组的理解更加深刻,运用得更加熟练,掌握得更加牢固。指针是C语言中 重要的数据类型,指针的灵活运用对于我们编写程序有着极大的便利,在 今后的学习中,我一定会注意对指针数组的运用及巩固,做到学以致用。 3
注:1、实验小结应包含实验所需知识点和实验方法的总结,实验心得体会等。
2、分组实验需包含同组讨论内容。
实验报告成绩(百分制)__________ 实验指导教师签字:__________