1 条题解

  • 0
    @ 2025-2-14 20:57:47

    C :

    #include <stdio.h>
    main(){
    	int n,i,j,t;
    	scanf("%d",&n);int a[n+1];a[10]=-1;
    	for(i=0;i<n;i++){
    		scanf("%d",&a[i]);
    		for(j=0;j<i;j++){
    			if(a[i]<a[j]){
    				t=a[i];a[i]=a[j];a[j]=t;
    			}
    		} 
    	}t=0;
    	for(i=0;i<n;i++)if(a[i]!=a[i+1])t++;printf("%d\n",t);
    	for(i=0;i<n;i++)if(a[i]!=a[i+1])printf("%d ",a[i]);
    }
    

    C++ :

    #include<cstdio>
    using namespace std;
    int main()
    {
    	int n;
    	scanf("%d",&n);
    	int a[n+10];
    	for(int i=1;i<=n;++i)
    	{
    		scanf("%d",&a[i]);
    	}
    	int x=n;
    	for(int y=1;y<=n;++y)
    	{
    		for(int z=y+1;z<=n;++z)
    		{
    			if(a[y]==a[z])
    			{
    				--x;
    				a[y]=1001;
    			}
    		}
    	}
    	for(int c=1;c<=n-1;++c)
    	{
    		for(int b=1;b<=n-c;++b)
    		{
    			if(a[b]>a[b+1])
    			{
    				int t=a[b];
    				a[b]=a[b+1];
    				a[b+1]=t;
    			}
    		}
    	}
    	printf("%d\n",x);
    	for(int d=1;d<=x-1;++d)
    	{
    		printf("%d ",a[d]);
    	}
    	printf("%d\n",a[x]);
    	return 0;
    } 
    

    Pascal :

    program lixinyi;
     var n,x,i,sum,j:longint;
         a:array[1..100] of longint;
         p:array[1..1000] of boolean;
     procedure kp(lf,rt:longint);
      var x,t,n:longint;
     begin
     i:=lf; j:=rt; x:=a[(lf+rt)div 2];
     repeat
     while a[i]<x do i:=i+1;
     while a[j]>x do j:=j-1;
     if i<=j then
     begin
     t:=a[i]; a[i]:=a[j]; a[j]:=t;
     i:=i+1;
     j:=j-1;
     end;
     until i>j;
     if i<rt then kp(i,rt);
     if j>lf then kp(lf,j);
     end;
     {procedure kp(lf,rt:longint);
     var mid,t,i,j:longint;
     begin
      i:=lf; j:=rt; x:=(i+j) div 2;
      repeat
      while a[i]<a[x] do inc(i);
      while a[j]>a[x] do dec(j);
      if i<=j then
      begin
       t:=a[i]; a[i]:=a[j]; a[j]:=t;
       inc(i);
       dec(j);
      end;
      until i>j;
      if i<rt then kp(i,rt);
      if j>lf then kp(lf,j);
     end;}
     begin
      readln(n);
      for i:= 1 to n do
      begin
       read(x);
       if not p[x] then begin p[x]:=true; inc(sum); a[sum]:=x; end;
      end;
      kp(1,sum);
      writeln(sum);
      for i:= 1 to sum-1 do
      write(a[i],' ');
      writeln(a[sum]);
     end.
    

    Java :

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    public class Main {
    
    	/**
    	 * 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,
    	 * 他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,
    	 * 只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。
    	 * 然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。
    	 * 请你协助明明完成“去重”与“排序”的工作。
    	 * 
    	 * 10
          20 40 32 67 40 20 89 300 400 15
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
           Scanner scan = new Scanner(System.in);
            int n = scan.nextInt();
            List<Integer> list = new  ArrayList<Integer>();
            /*for(int i=0;i<n;i++){
             	int in = scan.nextInt();
             	list.add(in);
             }*/
            
            
            
            boolean flag = true;
        //   int in = scan.nextInt();
            while(flag){
            	flag = false ;
            	 for(int i=0;i<n;i++){
                 	int in = scan.nextInt();
                     if(in<0||in>=1000){
                 		System.out.println("请输入1000以内的整数。");
                 		flag = true;
                 	}else{
                 		list.add(in);
                 	}
                 	
                 }
            }
    		List<Integer> list1 = new ArrayList<Integer>();
            for(int i = 0;i<list.size();i++){
            	if(!list1.contains(list.get(i))){
            		list1.add(list.get(i));
            	}
            }
            List<Integer> list2 = new ArrayList<Integer>();
            List<Integer> listDel = new ArrayList<Integer>();
            int x= list1.size();
            for(int i=0;i<x;i++){
            	int min = 1001;
            	for(int j=0;j<list1.size();j++){
            		if(min>list1.get(j)&&!listDel.contains(list1.get(j))){
            			min = list1.get(j);
            		}
            		
            	}
            	listDel.add(min);
            	list2.add(i, min);
            	
            }
            System.out.println(x);
            for(int i=0;i<list2.size();i++){
            	System.out.print(list2.get(i)+" ");
            }
    	}
    }
    
    • 1

    信息

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