解题思路:
对k前面的数进行排序,然后找到k的位置,因为是从小到大排的序,所以用k-i来输出
参考代码:
#include <stdio.h> #include <stdlib.h> int gg(const void* x,const void *y){ return *(int *)x-*(int *)y; } int main() { int i,j,k; int n,x,y,z=0; int p[10000]={0}; scanf("%d",&n); for(i=0;i<n;i++){ scanf("%d",&p[i]); } scanf("%d",&k); z=p[k-1]; qsort(p,k,sizeof(p[0]),gg); for(i=0;i<k;i++){ if(p[i]==z){ printf("%d",k-i); break; } } return 0; }
0.0分
160 人评分