1 条题解

  • 0
    @ 2025-2-14 21:22:42

    C :

    #include<stdio.h>
    #include<stdlib.h>
    #define maxn 10000
    int b[maxn];//b[]存下标 
    int cmp(const void *a,const void *b)
    {
    	return *(int *)a-*(int *)b;//升序排序
    	//return *(int *)b-*(int *)a; //降序排序 
    }
    int main()
    {
    	int n,i,k;
    	while(~scanf("%d %d",&n,&k))
    	{
    		for(i=0;i<n;i++)
    		{
    			scanf("%d",&b[i]);
    		}
    		qsort(b,n,sizeof(b[0]),cmp);//从小到大排序 
        	for(i=0;i<k;i++)
    		printf("%d ",b[i]);
    		printf("\n"); 
    	}
    	return 0;
    
    }
    

    C++ :

    #include<cstring>
    #include<stack>
    #include<algorithm>
    #include<cmath>
    #include<iostream>
    #include<cstdlib>
    using namespace std;
    int main()
    {
    int n;cin>>n;int k;cin>>k;
    int a[n+1];for(int o=1;o<=n;o++)cin>>a[o];
    sort(a+1,a+n+1);
    for(int r=1;r<=k;r++)cout<<a[r]<<" ";
    }
    

    Pascal :

    program fuck;
    var n,m,t,j,i:integer;
    a : array [1..100] of integer;
    begin 
    readln(n,m);
    for i:= 1 to n do
    read(a[i]);
    for i:=1 to n-1 do
      for j:=i+1 to n do
        if a[i]>a[j]then begin
          t:=a[i];
          a[i]:=a[j];
          a[j]:=t;
        end;
    	for i:= 1 to m do
    	write(a[i],' ');
    end.
    

    Java :

    import java.util.*;
    public class Main {
    	
    	public static void sort(int[] a) {
    		 int d=a.length;
             while(true)
             {
                 d=d/2;
                 for(int x=0;x<d;x++)
                 {
                     for(int i=x+d;i<a.length;i=i+d)
                     {
                         int temp=a[i];
                         int j;
                         for(j=i-d;j>=0&&a[j]>temp;j=j-d)
                         {
                             a[j+d]=a[j];
                         }
                         a[j+d]=temp;
                     }
                 }
                 if(d==1)
                 {
                     break;
                 }
             }
    	}
    	
    	public static void main(String[] args) {
    		Scanner input=new Scanner(System.in);
    		int n=input.nextInt();
    		int k=input.nextInt();
    		int[] a=new int[n];
    		for(int i=0;i<n;i++) {
    			a[i]=input.nextInt();
    		}
    		sort(a);
    		for(int i=0;i<k;i++) {
    			System.out.print(a[i]+" ");
    		}
    	}
    }
    
    • 1

    信息

    ID
    861
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    (无)
    递交数
    0
    已通过
    0
    上传者