问题标题: 酷町堂:1555

0
0
已解决
杨子逸
杨子逸
新手天翼
新手天翼

为什么是80

#include<iostream>
using namespace std;
int main()
{
    int a[110000],n,k,s=0,b[110000],j=0,c;
    cin>>n>>c;
    k=n;
    for(int i=1;i<=n;i++)
    cin>>a[i];
    for(int i=1;i<=n-1;i++)
    {
        for(int j=i+1;j<=n;j++)
        {
            if(a[i]==a[j]&&a[i]!=0&&a[j]!=0)
            {
                k-=1;
                a[j]=0;
            } 
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n-i;j++)
        {
            if(a[j]>a[j+1])
            swap(a[j],a[j+1]);
        }
    }
    for(int i=1;i<=n;i++)
    {
         if(a[i]!=0)
         {
            b[j]=a[i];
            j+=1;
         }
    }
    if(c<=n)
    cout<<b[c-1];
    else
    cout<<"NO RESULT";
    return 0;
}

谢谢大家,麻烦用冒泡排序写


1
已采纳
朱智霖
朱智霖
新手守护
新手守护

啃啃(敲黑板),这是是作业,连这个都不会写,上课干嘛去了!好了,开玩笑,解题:

定义a为一维整形数组,i,j,n,t,k,m=0为整形

cin>>n>>k;
    for(i=1;i<=n;i++) cin>>a[i];
    for(i=1;i<=n-1;i++)
    for(j=i+1;j<=n;j++)
    if (a[i]==a[j]) a[j]=2100000000;
    for(i=1;i<=n-1;i++)
    for(j=i+1;j<=n;j++)
    if (a[i]>a[j])
    {
        t=a[i];
        a[i]=a[j];
        a[j]=t;
    }
    for(i=1;i<=n;i++) if(a[i]!=2100000000) m++;

如果m-k比0大,则输出ak47(a[k]);

否则输出NO······(懒得打了)
 

0
0
我要回答