问题标题: 1067(抓阄游戏)怎么做???求解!!!

0
0
已解决
方宇哲
方宇哲
资深守护
资深守护
#include<iostream>
using namespace std;
int main()
{
    int a[101],n,k;
    cin>>n>>k;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        if(k==a[i])
        {
            cout<<a[i];
        }
    }
    return 0;
}

0
已采纳
张舒斌
张舒斌
中级光能
中级光能

首先要排序,从大到小排,再输出a[k]就OK了。

你的程序错在误把k当成数组里的数了,其实k是数组下标

1
张裕博
张裕博
初级守护
初级守护

这题要用到排序:

头文件:

#include <algorithm>

先用for循环读入a数组,从0读到n-1,之后这样:

sort(a,a+n);
cout<<a[k-1];

 

0
鲁天一
鲁天一
初级光能
初级光能

这个首先要排序,然后cout<<a[k-1];就行了

 

0
0
0
张瑀涵
张瑀涵
高级光能
高级光能

注意:这里并不是数出原来数组的第k个元素,应该先对数组进行从大到小进行排序,再输出第k个元素。

我要回答