请问一下这个小疑点(青年大赛求平均值)
请教一下这个小问题(青年大赛求平均值)。
怎么运行结果是0?
------解决方案--------------------
------解决方案--------------------
你的scanf()函数给的类型不对
#include <stdio.h>
/* 青年歌手参加歌曲大奖赛,有10个评委打分,试编程求选手的平均得分(去掉一个最高分和一个最低分) */
int main(void)
{
float a[10], min, max, average, sum=0;
int i;
for (i = 0 ; i < 10 ; i++)
scanf("%d", &a[i]);
min = a[0];
for (i = 1 ; i < 10 ; i++)
if (a[i] < min)
min = a[i];
max = a[0];
for (i = 1 ; i < 10 ; i++)
if (a[i] > max)
max = a[i];
for (i = 0 ; i < 10 ; i++)
sum += a[i];
sum = sum - min - max;
average = sum / 8.0;
printf("Average : %f \n", average);
return 0;
}
怎么运行结果是0?
------解决方案--------------------
for (i = 0 ; i < 10 ; i++)
if( scanf("%f", &a[i]) != 1 )
{
i--;
}
------解决方案--------------------
#include <stdio.h>
/* 青年歌手参加歌曲大奖赛,有10个评委打分,试编程求选手的平均得分(去掉一个最高分和一个最低分) */
int main(void){
float a[10]={0.0}, min, max, average, sum=0;
int i;
for (i = 0 ; i < 10 ; i++)
scanf("%f", &a[i]); //这里应该是%f不是%d
min = a[0];
for (i = 1 ; i < 10 ; i++)
if (a[i] < min)
min = a[i];
max = a[0];
for (i = 1 ; i < 10 ; i++)
if (a[i] > max)
max = a[i];
for (i = 0 ; i < 10 ; i++)
sum += a[i];
sum = sum - min - max;
average = sum / 8.0;
printf("Average : %f \n", average);
return 0;
}
你的scanf()函数给的类型不对