4、编写将n个数从小到大排序的函数,要求该函数返回排序过程中交换的次数,并设计main函数,验证算法正确与否。
int sort( int arr[], int n) {……….}
程序代码:
程序代码:
#include <stdio.h>
int sort(int array[], int n) {
int i, j, temp, count = 0;
for(i = 0; i < n - 1; i++) {
for(j = i + 1; j < n; j++) {
if(array[i] > array[j]) {
// 交换两个数
temp = array[i];
array[i] = array[j];
array[j] = temp;
count++; // 计数器加1
}
}
}
return count;
}
int main() {
int n, i, count;
printf("请输入 n:");
scanf("%d", &n);
int array[n];
printf("请输入 %d 个整数:\n", n);
// 输入 n 个数
for(i = 0; i < n; i++) {
scanf("%d", &array[i]);
}
// 调用函数进行排序
count = sort(array, n);
printf("排序后的结果为: ");
for(i = 0; i < n; i++) {
printf("%d ", array[i]);
}
printf("\n");
printf("交换了 %d 次。\n", count);
return 0;
}
标签:count,int,11.7,++,printf,array,排序 From: https://www.cnblogs.com/lml66/p/17909378.html