1 条题解

  • 0
    @ 2023-6-11 12:15:51

    C :

    #include<stdio.h>
    int b[101];
    int main(){
    int n,i,j,s=0,k,temp;
    scanf("%d",&n);
    int a[n];
    for(i=0;i<n;i++){
    	scanf("%d",&a[i]);
    	k=a[i];
    	s=s+k;
    	b[k]++;
    }
    printf("%.2lf ",s*1.0/n);
    int t=0;
    for(i=0;i<n;i++){
    	if(b[t]<b[i]){
    		t=i;
    	}
    }
    printf("%d ",t);
    for(i=0;i<n-1;i++){
    	for(j=0;j<n-1;j++){
    		if(a[j]>a[j+1]){
    			temp=a[j];
    			a[j]=a[j+1];
    			a[j+1]=temp;
    			
    		}
    	}
    }
    if(n%2!=0){
    	printf("%.1lf",a[n/2]*1.0);
    }else{
    	printf("%.1lf",(a[n/2]+a[n/2-1])/2.0);
    }
       return 0;
    }
    

    C++ :

    #include<iostream>
    #include<iomanip>
    using namespace std;
    
    void sort(int a[],int n);
    
    int main(){
    	int n;
    	int a[10000];
    	int b[101];
    	int m=0;
    	double mid=0;
    	double avg=0;
    	int s=0;  
    	
    	cin>>n;
    	
    	for(int i=0;i<n;i++){
    		cin>>a[i];
    		b[a[i]]++;
    		s=s+a[i];
    	} 
    	int max=0;
    
    	for(int i=0;i<=100;i++){
    		if(b[i]>max){
    			max=b[i];
    			m=i;
    		}
    	} 
    
    	avg=s*1.0/n;
    	
    	sort(a,n);
    
    	if(n%2!=0){
    		mid=a[n/2];
    	} 
    	else{
    		mid=(a[n/2]+a[n/2-1])*1.0/2;
    	}
    	
    	cout<<setiosflags(ios::fixed)<<setprecision(2)<<avg<<" ";
    	cout<<m<<" ";
    	cout<<setiosflags(ios::fixed)<<setprecision(1)<<mid<<endl;
    }
    
    
    void sort(int a[],int n){
    	int t=0;
    
    	for(int i=0;i<n;i++){
    	
    		for(int j=0;j<n-1-i;j++){
    			
    			if(a[j]<a[j+1]){
    				t=a[j];
    				a[j]=a[j+1];
    				a[j+1]=t;
    			}
    		}
    		
    	} 
    }
    
    

    Python :

    n=int(input())
    l1=list(map(int,input().split()))
    s=0
    for i in range(0,n):
        s+=l1[i]
    a=s/n #平均数
    l2=[]
    for i in range(0,20):
        l2.append(0)
    for i in l1:
        l2[i]+=1
    b=max(l2) #众数
    l1.sort()
    if n%2!=0:
        c=l1[n//2]
    else:
        c=(l1[n//2-1]+l1[n//2])/2 #中位数
    print('{:.2f}'.format(a),b,'{:.1f}'.format(c))
    
    • 1

    【入门】求N个整数的平均数、众数和中位数

    信息

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