利用search(a,n,k)函數在數組a的前n(n>=1)個元素中找出前k個(1<=k<=n)小的值。假設數組a中各元素的值都不相同。php
利用search(a,n,k)函數在數組a的前n(n>=1)個元素中找出前k個(1<=k<=n)小的值。假設數組a中各元素的值都不相同。php
數組中各元素數組
n k函數
a中前k個小的值spa
5 6 2 1 4 85 78 11
7 4
5 2 1 4
#include<stdio.h> int main() { int a[20],c[20],n,i,j,k,temp; char x; for(i=0;i<20;i++) { scanf("%d%c",&a[i],&x); if(x=='\n') break; } scanf("%d%d",&n,&k); for(i=0;i<n;i++) c[i]=a[i]; for(i=0;i<n-1;i++) for(j=0;j<n-1-i;j++) { if(a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } }//對a[i]進行排序// for(i=0;i<n;i++) { if(c[i]<=a[k-1])//此時a[i]從小到大排列,取k個較小數,則這些數中最大的就是a[k-1]// printf("%d ",c[i]); } return 0; }