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
