程序功能】 给定整型数组int a[]={12, 13, 56, 78, 34, 47, 77, 94, 23, 63 }; 要求使用函数编程,实现在main函数中输入数值“0 ”,数组则降序排列,输入数值“1”,数组则升序排列,并在main函数中输出排序后的数组。 【编程要求】 通过排序法对数组进行进行升序或者降序排序; 排序在 void sort(int a[], int n)函数中完成,而不是升序与降序各写一个代码类似的函数; 将结果输出到屏幕上。
3条回答 默认 最新
- 「已注销」 2020-12-25 10:27关注
#include<stdio.h> #include<stdlib.h> int increase(const void * a, const void * b) { return (*(int*)a) - (*(int*)b); } int decrease(const void * a, const void * b) { return (*(int*)b) - (*(int*)a); } void sort(int * arr, int len,int desc) { qsort(arr,len,sizeof(int),desc?decrease:increase); } int main() { int arr[] = {2,3,4,5,6,7,8}; int len = sizeof(arr)/sizeof(int),i; sort(arr,len,1); for(i = 0 ; i < len ; i++) { printf("%d ",arr[i]); } sort(arr,len,0); printf("\n"); for(i = 0 ; i < len ; i++) { printf("%d ",arr[i]); } printf("\n"); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报