Я практически новичок в программировании на С, и я пытался получить простую среднюю функцию, но дробная часть ответа продолжает испортить ... ??Неверный ответ средней функции?
#include <stdio.h>
#include <float.h>
float cal(int num1,int num2,int num3);
int main(){
int a,b,c;
float avg;
a=10;
b=5;
c=11;
avg=cal(a,b,c);
printf("Average is : %E\n", avg);
return 0;
}
float cal(int num1,int num2,int num3){
float avg1;
avg1=(num1+num2+num3)/3;
return avg1;
}
Ответ (avg
) должен быть 8.66666666667
, но вместо этого я получаю 8.00000000
...
спасибо человеку ... не могу поверить, что я этого не видел !! – user3889963
@ user3889963 Как программисты, мы все время слепы. : P – herohuyongtao
Вместо актера используйте литерал с плавающей точкой: 'avg1 = (num1 + num2 + num3)/3.0f;' –