
1条回答 默认 最新
冷0_O 2021-11-15 16:22关注代码如下:
望采纳#include <stdio.h> /* @ arr 数组名 @ n 数组元素个数 */ int ArrSort(int arr[], int n) { int flag = 0; for(int i=0; i<n-1; i++){ flag = 0; for(int j=0;j<n-i-1;j++){ if(arr[j] < arr[j+1]){ ++ flag; //进行了位置交换,flag加一 int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } if(0 == flag) //如果没有进行位置交换,则代表以及排序完毕,退出循环 break; } return 0; } /* @ arr 数组名 @ n 数组元素个数 */ void input_number(int arr[],int n) { for(int i=0; i<n; i++) scanf("%d",&arr[i]); } /* @ arr 数组名 @ n 你要输出的元素个数 */ void printf_number(int arr[], int n) { for(int i=0; i<n; i++) printf("%d ",arr[i]); } int main() { int a[30] = {0}; input_number(a, 30); ArrSort(a, 30); printf_number(a, 10); return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用