int i, n, sum, max, min, score,avg;
sum = 0;
max = 0; //将最高分初值设置为0
min = 100; //最低分初值设置为100
printf("请输入评委人数:");
scanf("%d",&n);
for(i = 1;i <= n;i++)
{
printf("请输入第%d个评委的分数:",i);
scanf("%d",&score);
if(score > max)
score = max;
if(score < min)
score = min;
sum = sum + score;
}
avg = (sum - max - min)/(n - 2);
printf("最高分为:%d,最低分为:%d",max,min);
printf("平均分为:%d",avg);
CDIO课本习题,但Codeblock运行之后最高分最低分平均值这一块是错误的
小白求解
int i, n, sum, max, min, score,avg;
->
int i, n, sum, max, min, score;
double avg;
avg = (sum - max - min)/(n - 2);
->
avg = (sum - max - min)/(double)(n - 2);
printf("平均分为:%d",avg);
->
printf("平均分为:%lf",avg);
这里也反了
score = max;
->
max = score;
score = min;
->
min = score;
完整程序
#include "stdio.h"
int main()
{
int i, n, sum, max, min, score;
double avg;
sum = 0;
max = 0; //将最高分初值设置为0
min = 100; //最低分初值设置为100
printf("请输入评委人数:");
scanf("%d",&n);
for(i = 1;i <= n;i++)
{
printf("请输入第%d个评委的分数:",i);
scanf("%d",&score);
if(score > max)
max = score;
if(score < min)
min = score;
sum = sum + score;
}
avg = (sum - max - min)/(double)(n - 2);
printf("最高分为:%d,最低分为:%d",max,min);
printf("平均分为:%lf",avg);
return 0;
}