歌星大奖赛

发布时间 2023-05-17 14:45:42作者: 软件拓荒人

一、问题描述:

 

二、设计思路:

 

三、程序流程图:

 

 

四、代码实现:

 

#include<stdio.h>
int main()
{
    int a[10];
    int sum=0;
    int max,min;
    
    for(int i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
        min=a[0];
        max=a[0];
    }
    for(int i=0;i<10;i++)
    {
       
        if(a[i]>max)
            max=a[i];    
    }
    for(int i=0;i<10;i++)
    {
       
        if(a[i]<min)
            min=a[i];
    }
    for(int i=0;i<10;i++)
    {
        sum+=a[i];
    }
    int average=(sum-max-min)/8;
    printf("最高分:%d\n",max);
    printf("最低分:%d\n",min);
    printf("average score:%d\n",average);
    
    return 0;
}

     下面拓展一下,找出评委谁最公平谁最不公平

#include<stdio.h>
#include<math.h>
int main()
{
    int a[10];
    int sum=0;
    int max,min;
    
    for(int i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
        min=a[0];
        max=a[0];
    }
    for(int i=0;i<10;i++)
    {
       
        if(a[i]>max)
            max=a[i];    
    }
    for(int i=0;i<10;i++)
    {
       
        if(a[i]<min)
            min=a[i];
    }
    for(int i=0;i<10;i++)
    {
        sum+=a[i];
    }
    int average=(sum-max-min)/8;
    printf("最高分:%d\n",max);
    printf("最低分:%d\n",min);
    printf("average score:%d\n",average);
    int dertx[10];
    int themax,themin;
    for(int i=0;i<10;i++)
    {
         dertx[i]=fabs(average-a[i]);
    }
    themax=dertx[0];
    for(int i=0;i<10;i++)
    {
        if(dertx[i]>themax)
            themax=dertx[i];
    }
    themin=dertx[0];
    for(int i=0;i<10;i++)
    {
        if(dertx[i]<themin)
            themin=dertx[i];
    }
    
    
    printf("最不公平的评委打分是:%d\n",(int)fabs(average+themax));
    printf("最公平的评委打分是:%d\n",(int)fabs(average+themin));
    
    return 0;
}