程序功能】 给定整型数组int a[]={12, 13, 56, 78, 34, 47, 77, 94, 23, 63 }; 要求使用函数编程,实现在main函数中输入数值“0 ”,数组则降序排列,输入数值“1”,数组则升序排列,并在main函数中输出排序后的数组。 【编程要求】 通过排序法对数组进行进行升序或者降序排序; 排序在 void sort(int a[], int n)函数中完成,而不是升序与降序各写一个代码类似的函数; 将结果输出到屏幕上。
3条回答 默认 最新
- 502203305 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"); }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
- ¥15 如何在scanpy上做差异基因和通路富集?
- ¥20 关于#硬件工程#的问题,请各位专家解答!
- ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
- ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
- ¥30 截图中的mathematics程序转换成matlab
- ¥15 动力学代码报错,维度不匹配
- ¥15 Power query添加列问题
- ¥50 Kubernetes&Fission&Eleasticsearch
- ¥15 報錯:Person is not mapped,如何解決?