3 条题解

  • 0
    @ 2024-12-27 21:29:44
    #include<bits/stdc++.h>
    using namespace std;
    
    void tongpai(int arr[],int len,int mx)//桶排去重
    {
    	int i;
    	int *buckes;
    	buckes = (int *)malloc(sizeof(int)*(mx+1));
    	memset(buckes,0,sizeof(int)*(mx+1));//使桶里面值全部为零
    	for(i=0;i<len;i++)
    	{
    		buckes[arr[i]]++;
    	}
    	for(i=0;i<=mx;i++)
    	{
    		if(i==mx)
    		{
    			cout<<mx;
    			break;
    		}
    		if(buckes[i])
    		{
    			cout<<i<<" ";
    		}
    	}
    	cout<<endl;
    }
    int main()
    {
    	int t,n,i,jishu;
    	cin>>t;
    	while(t--)
    	{
    		jishu = 0;
    		cin>>n;
    		int arr[n];
    		int arr2[101];
    		for(i=0;i<n;i++)
    		{
    			cin>>arr[i];
    			arr2[i] = arr[i];
    			if(arr[i]%2!=0)
    			{
    				jishu++;//奇数的个数
    			}
    		}
    		if(jishu>0)//用于排除奇数个数为零的情况
    		{
    			arr2[n] = jishu;
    			n++;
    		}
    		sort(arr2,arr2+n);//排序
    		tongpai(arr2,n,arr2[n-1]);
    	}
    }
    
    • 0
      @ 2024-11-18 17:35:10

      这个题其实不难,看清题目就行,一定要记住所有奇数的和也是数组中的一个❤️ 👀️

      #include <stdio.h>

      int main()

      {

      int t;

      scanf("%d",&t);

      while(t--){

      int n;

      scanf("%d",&n);

      int ar[10001];

      int sum=0,num=0;

      for(int i=0;i<n;i++){

      scanf("%d",&ar[i]);

      if(ar[i]%2!=0){

      num++;

      }

      ar[n]=num;

      }

      for(int l=0;l<n;l++){

      for(int k=0;k<n-l;k++){

      if(ar[k]>ar[k+1]){

      int ak=ar[k];

      ar[k]=ar[k+1];

      ar[k+1]=ak;

      }

      }

      }

      int ae[10001];

      for(int j=0;j<=n;j++){

      if(ar[j]!=ar[j+1]){

      ae[sum]=ar[j];

      sum++;

      }

      }

      for(int h=0;h<sum;h++){

      printf("%d",ae[h]);

      printf(" ");

      }

      printf("\n");

      }

      return 0;

      }

      • 0
        @ 2023-11-14 21:17:09

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

        }
        
        
        return 0;
        

        }

        • 1

        信息

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