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