题解 | #输入n个整数,输出其中最小的k个#

输入整型数组和排序标识,对其元素按照升序或降序进行排序

http://www.nowcoder.com/practice/dd0c6b26c9e541f5b935047ff4156309

#include <stdio.h> #include <stdlib.h>

int cmp_asc(int *a, int *b) { return *a - *b; }

int cmp_desc(int *a, int *b) { return *b - *a; }

int main() { int num = 0; int sArray[1000] = {0}; int sortFlag = 0; if(scanf("%d", &num)) { for(int i = 0; i < num; i++) { scanf("%d", &sArray[i]); } //排序 if(scanf("%d", &sortFlag)) { if(sortFlag == 0) { qsort(sArray, num, sizeof(int), cmp_asc); //升序 } else if(sortFlag == 1) { qsort(sArray, num, sizeof(int), cmp_desc); //降序 } else { printf("sort flag failed [%d]!!!\n", sortFlag); return -1; } } for(int j = 0; j < num; j ++) { printf("%d ", sArray[j]); } printf("\n"); } return 0; }

全部评论

相关推荐

点赞 评论 收藏
分享
冲芭芭拉鸭:你这图还挺新,偷了。
投递美团等公司10个岗位
点赞 评论 收藏
分享
拉丁是我干掉的:把上海理工大学改成北京理工大学。成功率增加200%
点赞 评论 收藏
分享
联通 技术人员 总包不低于12
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务