#include<stdio.h>
int main()
{
int i,n,m,k,j;
scanf("%d%d",&n,&m);
int a[n];
int max[m];
for(i=0;i<m;i++)
{
max[i]=0;
}
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
for(j=0;j<m;j++)
{
if(a[i]>max[j])
{
if(j==m-1)
{
max[j]=a[i];
break;
}
else
{
for(k=m-1;k>j;k--)
{
max[k]=max[k-1];
}
max[j]=a[i];
break;
}
}
}
}
if(n>=m)
{
for(i=0;i<m;i++)
{
if(i==m-1)
printf("%d",max[i]);
else
printf("%d ",max[i]);
}
}
else
{
for(i=0;i<n;i++)
{
if(i==n-1)
printf("%d",max[i]);
else
printf("%d ",max[i]);
}
}
}
int main()
{
int i,n,m,k,j;
scanf("%d%d",&n,&m);
int a[n];
int max[m];
for(i=0;i<m;i++)
{
max[i]=0;
}
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
for(j=0;j<m;j++)
{
if(a[i]>max[j])
{
if(j==m-1)
{
max[j]=a[i];
break;
}
else
{
for(k=m-1;k>j;k--)
{
max[k]=max[k-1];
}
max[j]=a[i];
break;
}
}
}
}
if(n>=m)
{
for(i=0;i<m;i++)
{
if(i==m-1)
printf("%d",max[i]);
else
printf("%d ",max[i]);
}
}
else
{
for(i=0;i<n;i++)
{
if(i==n-1)
printf("%d",max[i]);
else
printf("%d ",max[i]);
}
}
}
本文介绍了一个使用C语言编写的程序,该程序能够从输入的一组整数中找出最大的m个数,并将这些数存储在一个数组中。通过不断的比较和数组元素的调整,确保数组始终保存当前读取到的最大值。

902

被折叠的 条评论
为什么被折叠?



