1 条题解

  • 0
    @ 2025-10-2 17:20:41

    如果要用c语言的qsort函数,前面的cmp函数记得换成double,并且明确返回值,而不是返回相减的值(会被截断

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h> 
    #include<math.h>
    int cmp(const void*a,const void*b){
    	double v1=*(double*)a;
    	double v2=*(double*)b;
    	if(v1<v2) return -1;
    	if(v1>v2) return 1;
    	return 0;
    }
    
    int main(){
    	int n,i;scanf("%d",&n);
    	double a[n];
    	for(i=0;i<n;i++){
    		scanf("%lf",&a[i]);
    	}
    	double sum=0.0;
    	qsort(a,n,sizeof(double),cmp);
    	for(i=0;i<n;i++){
    		sum+=a[i];
    	}
    	printf("%.2lf %.2lf %.2lf",a[n-1],a[0],sum/n);
        return 0;
    }
    
    • 1

    信息

    ID
    84
    时间
    1000ms
    内存
    256MiB
    难度
    3
    标签
    递交数
    304
    已通过
    154
    上传者