题目:计算评分
【要求】N=7个评委的评分从键盘输入(10分制,即评委的评分值最大和最
小可为10和0,检查输入的合理性)。评分计算方法:去掉一个最高分、去掉
一个最低分,余下评委打分的平均分为结果,输出结果要求到小数点后两位。
这个是我写的程序:
int i=0, j=0, n=0, min=0, max=0,sum=0;
int a[7];
for (i = 0; i < 7; i++)
scanf_s("%d,", &a[i]);
if (min>a[i])
{
min = a[i + 1];
a[i] = min;
a[i] = a[i + 1];
}
if (max < a[j])
{
max = a[j - 1];
a[j] = max;
a[j] = a[j - 1];
}
{
min = a[1];
max = a[7];
}
sum = a[2] + a[3] + a[4] + a[5] + a[6];
n = (sum / 5);
printf("%5.2f",(float) n);
return 0;
}
问题是:在这个程序里面如果想将最后结果保留2位小数,强制转换成float型,后面的小数丢失了,把int型改为float型,编译器报错(看不懂英文,不知道报什么错了),大神帮忙看看怎样改。。