runtime error!超绝白痴看不出错在哪里
查看原帖
runtime error!超绝白痴看不出错在哪里
1620048
FC995楼主2024/12/24 10:47
#include <stdio.h>
#include <math.h>

int main(){
    int n;
    scanf("%d", &n);
    float a[n];
    float sum=0.00;
    float difference=0.00;

if(n>2 && n<=300){
    for(int i=0;i<n;i++){
        scanf("%f", &a[i]);
    }//写一个 循环输入

    float max=a[0];
    float min=a[0];
    for(int i=0;i<n;i++){
        max=(a[i]>=max)?a[i]:max;
        min=(a[i]<=min)?a[i]:min;
        sum=sum+a[i];
    }//找出最大值和最小值

    float current_sum=sum-max-min;
//去除最大值和最小值
    float average=current_sum/(n-2);
//算出平均值
    //printf("%.2f", average);

    for(int i=0;i<n;i++){
        if(a[i]!=max&&a[i]!=min){
            float temp=difference;
//想用temp储存上一次的difference的值 便于比较
            difference=abs(a[i]-average);
//在有效数字内 算出他们和平均值差值
        
        if(temp>difference){
            difference=temp;
        }else if(temp<difference){
            return 1;
        }else{
            difference=0.00;
        }
//新的difference和上一个的作比较
        }
        printf("%.2f   %.2f",average, difference);
//按照题目要求输出结果
    }
}

return 0;
}

2024/12/24 10:47
加载中...