第一章 引论
2014-12-15 16:39
246 查看
练习1.1 编写一个程序解决选择问题 /* For selecting kth number from n numbers. *Author: gyh *Date: 20141214 *Version: 1.0 */ #include<stdio.h> void select(int n, int k){ int a ; printf("Enter %d numbers: ", n); /*输入n个数*/ for(int i=0;i<n;i++){ scanf("%d", &a[i]); } printf("the %dth number is: ", k); /*对前k个数进行排序*/ for(int i=0;i<k;i++){ int j = i, temp = a[j]; for(;j>0;j--){ if(temp>a[j-1]){ a[j] = a[j-1]; }else{ break; } } a[j] = temp; } for(int i=k;i<n;i++){ /*把从第k个数之后的每个数分别同已排好序的数进行比较 *从后向前进行比较*/ if(a[i]>a[k-1]){ a[k-1] = a[i]; { for(int j=k-1;j>0;j--){ if(a[j]>a[j-1]){ //如果a[i]比前面的数大 int temp = a[j]; a[j] = a[j-1]; //前面的数后移 a[j-1] = temp; }else{ break; } } } } } printf("%d\n",a[k-1]); } int main(void){ int n, k; printf("Enter the count of number and k's value: "); scanf("%d%d", &n, &k); select(n, k); return 0; }
example:
Enter the count of number and k's value: 8 4
Enter 8 numbers: 9
8
7
5
3
4
1
4
the 4th number is: 5
相关文章推荐
- 《现代操作系统》精读与思考笔记 第一章 引论
- 第一章 数据库系统引论
- 2009-06-18读书记录:《JAVA编程思想》(第三版)第一章——对象引论
- 【编译原理】第一章 引论
- 《时间序列分析及应用:R语言》读书笔记--第一章 引论
- 《现代操作系统》精读与思考笔记 第一章 引论
- 数据结构之第一章 引论 及 课后题答案
- 2018-03-02 第一章:引论
- 【数据结构与算法分析——C语言描述】第一章总结 引论
- 第一章 引论-C++常识
- 【Thinking In Java 3rd】第一章对象引论
- 第一章 对象引论
- 第一章:引论
- 数据挖掘概念与技术 第一章 引论
- [置顶] [编译原理读书笔记][第一章 引论]
- 数学方法论选讲---第一章 引论
- 项目管理第一章:引论
- 第一章 引论
- 《数据结构与算法分析--c语言描述》之第一章:引论
- 《操作系统概论》第一章引论读书笔记