#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
int num[10];
int max = -1, min = 101;
int maxi = 0, mini = 0;
printf("输入十个成绩\n");
for (int i = 0; i < 10; i++)
{
scanf("%d", num[i]);
if (num[i]>max)
{
max = num[i];
maxi = i;
}
if (num[i]<min)
{
min = num[i];
mini = i;
}
}
printf("最高分编号:%d", maxi+1);
printf("最低分编号:%d", mini+1);
return 0;
}
#include<iostream>
using namespace std;
int main()
{int a[10],f[10],i,k,m,n,b,c,y,p,q,d,average,h,g,hnum,lnum;
cout<<"输入十位评委按顺序的打分:";
for(i=0;i<10;i++)
{cin>>a[i];
}
for(b=0;b<10;b++)
{while(a[b]>100||a[b]<0)
{cout<<"选手得分超出规定范围,请第"<<b+1<<"位评委重新打分!"<<endl;
cin>>a[b];
}
}
m=a[0];n=a[0];
hnum = 0;lnum = 0;
for(k=0,c=0;k<9;k++)
{
if(m<=a[k+1]) {
m=a[k+1];
lnum = k+1;
}
if(n>=a[k+1]) {
n=a[k+1];
hnum = k+1;
}
c=c+a[k];
}
c=c+a[9];
y=c-m-n;
average=y/8;
for(p=0;p<10;p++)
{f[p]=a[p]-average;
if(f[p]<0) {f[p]=-f[p];}
}
q=f[0];d=f[0];
for(k=0,h=1;k<9;k++)
{
if(q<=f[k+1]) q=f[k+1] ,h=k+2;
if(d>=f[k+1]) d=f[k+1],g=k+2;
}
cout<<"最高分评委是第"<<hnum<<"位评委。"<<endl;
cout<<"最低分评委是第"<<lnum<<"位评委。"<<endl;
cout<<"选手的平均分是"<<average<<endl;
cout<<"最公平评委是第"<<g<<"位评委。"<<endl;
cout<<"最不公平评委是第"<<h<<"位评委。"<<endl;
return 0;
}
运行结果为:
供参考:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 10, i, max_order, min_order;
float a, b, max, min, sum = 0;
//scanf("%d", &n); //输入裁判人数
for (i = 1; i <= n; i++)
{
scanf("%f", &a);
if (i == 1)
{
max = min = a;
max_order = min_order = i;
}
else
{
if (max < a)
{
max = a;
max_order = i;
}
if (min > a)
{
min = a;
min_order = i;
}
}
sum = sum + a;
}
b = (sum - max - min) / (n - 2);//去掉一个最高分和最低分后求平均
printf("去掉一个最高分和最低分后平均分:%.2f\n", b);
printf("最高分:%.2f,裁判编号:%d\n", max, max_order);
printf("最低分:%.2f,裁判编号:%d\n", min, min_order);
return 0;
}