6 条题解

  • 1
    @ 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
      @ 2025-10-30 19:55:25
      #include<iostream>
      using namespace std;
      int main(){
      	int T;
      	cin>>T;
      	while(T--){
      		int n;
      		cin>>n;
      		int ch[105];
      		int tong[105]={0};
      		int g=0;
      		for(int i=1;i<=n;i++){
      			cin>>ch[i];
      			if(ch[i]%2==1){
      				g++;
      			}
      			tong[ch[i]]++;
      			
      		}
      		tong[g]++;         //cout<<"g:"<<g<<'\n';
      		for(int j=0;j<=100;j++){
      			if(tong[j]>0){
      				cout<<j<<' ';    //cout<<tong[0]<<"!"<<'\n';
      			}
      		
      		}
      		cout<<'\n';
      	}
      return 0;
      }
      
      • 0
        @ 2025-10-6 12:13:54

        #include<stdio.h>

        int main(){

        int t,n,x;

        scanf("%d",&t);

        while(t--){

        x=0;

        int m=1;

        scanf("%d",&n);

        int a[n+1];

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

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

        }

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

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

        x++;

        }

        }

        a[n]=x;

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

        for(int j=i+1;j<=n;j++){

        if(a[i]>a[j]){

        x=a[i];

        a[i]=a[j];

        a[j]=x;

        }

        }

        }

        int b[n+1];

        b[0]=a[0];

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

        if(a[i]!=a[i-1]){

        b[m]=a[i];

        m++;

        }

        }

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

        printf("%d ",b[i]);

        }

        printf("\n");

        }

        return 0;

        }

        • 0
          @ 2025-10-5 22:46:51

          俩数组去重

          #include<stdio.h>
          int main()
          {
              int t,n,a[1001],temp;
              scanf("%d",&t);
              while(t--){
                  int num=0,sum=0;
                  int b[1001]={0};
                  scanf("%d",&n);
                  for(int i=0;i<n;i++){
                      scanf("%d",&a[i]);
                      if(a[i]%2!=0){
                          sum++;
                      }
                  }a[n]=sum;
                  for(int j=0;j<n+1;j++){
                      for(int k=j+1;k<n+1;k++){
                          if(a[j]>a[k]){
                              temp=a[j];
                              a[j]=a[k];
                              a[k]=temp;
                          }
                      }
                  }if(n>0){
                      b[num]=a[0];
                      num++;
                      for(int i=1;i<n+1;i++){
                          if(a[i]!=a[i-1]){
                              b[num]=a[i];
                              num++;
                          }
                      }
                  }for(int i=0;i<num;i++){
                      printf("%d ",b[i]);
                  }printf("\n");
              }
              return 0;
          }
          
          • 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
              @ 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
              标签
              (无)
              递交数
              1775
              已通过
              195
              上传者