1./ 描述
//公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最高分和一个最低分,输出每组的平均成绩。
//(注:本题有多组输入)
//输入描述:
//每一行,输入7个整数(0~100),代表7个成绩,用空格分隔。
//输出描述:
//每一行,输出去掉最高分和最低分的平均成绩,小数点后保留2位,每行输出后换行。
// 输入:99 45 78 67 72 88 60
//输出: 73.00
2.方法一:我们先输入坐标,然后将数据存储在arr上,然后我们用冒泡函数进行比较求出最大值与最小值。不进行判断,将其他值相加为sum/5。(注意:不能多组输入)
cs
#include<stdio.h>
int main()
{
int input = 1;
do
{
double sum = 0;
int arr[7] = { 0 };
//将数据存储起来
for (int i = 0; i < 7; i++)
{
scanf_s("%d", &arr[i]);
}
//冒泡函数
for (int i = 0; i < 7; i++)
{
for (int j = 0; j < 6; j++)
{
if (arr[j] > arr[j + 1])
{
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
//去了最大与最小的总和
for (int j = 1; j < 6; j++)
{
sum = sum + arr[j];
}
//小数点的二位
printf("%.2lf\n", sum / 5.0);
} while (input);
return 0;
}
3.方法二:我们进行输入坐标s,因为成绩只要100分,假设max=0,min=100,当输入的值,大于max,就交换s==max,s小于min,就s==min,然后不断进行判断。
cs
#include<stdio.h>
//方法二(分别进行判断)
int main()
{
int s = 0;
int n = 0;
int max = 0;
int min = 100;c
int sum = 0;
while ((scanf_s("%d",&s))==1)
{
n++;
if (s > max)
{
max = s;
}
if (s < min)
{
min = s;
}
sum = sum + s;
if (n == 7)
{
printf(".2lf\n", (sum - max - min) / 5.0);
max = 0;
min = 100;
s = 0;
sum = 0;
}
}
return 0;
}