Не сходится ответ компилятора с калькулятором - C (СИ)
Формулировка задачи:
Привет! Задание мое следующее - проанализировать текстовый файл, найти победителя и так же посчитать среднее арифметическое.
Внутри файла :
Chelsea 54
Real Madrid 65
Barcelona 86
Inter 34
Arsenal 58
Juventus 96
Если посчитать на калькуляторе : (54 + 65 + 86 + 34 + 58 + 96) / 6 = 65,5
но компилятор показывает ответ 63.
или это допустимая погрешность ?
Вот мой код, на всякий, может ошибся я где-то.
#include <stdio.h> #include <stdlib.h> #include <limits.h> #include <string.h> int main(void){ FILE *fp; char teamname[25], winner[25]; int max=INT_MIN, points, k=0,all=0; float a_average; fp = fopen("teams.txt","r"); while(fscanf(fp,"%s %d",teamname, &points)!=EOF){ if (max<points){ max = points; strcpy(winner,teamname); } k++; all+=points; } a_average = (all/k); printf("Winner team is %s with %d points!\n",winner,max); printf("Average points are : %.1f", a_average); return 0; }
Решение задачи: «Не сходится ответ компилятора с калькулятором»
textual
Листинг программы
#include <stdio.h> int main (void) { int a = 3, b = 4; int ans; float answer; // целочисленное деление: ans = a/b; printf("%d/%d = %d\n", a, b, ans); // целочисленное деление: answer = a/b; printf("%d/%d = %.1f\n", a, b, answer); // деление с точкой: answer = (float) a/b; printf("%d/%d = %.1f\n", a, b, answer); }
Объяснение кода листинга программы
- Подключение стандартной библиотеки
- Объявление переменных: a, b, ans, answer
- Присваивание значений переменным a и b
- Вычисление и сохранение результата деления a на b в переменную ans
- Вывод на экран результатов деления с использованием функции printf
- Вычисление и сохранение результата деления a на b в переменную answer с использованием типа данных float
- Вывод на экран результатов деления с использованием функции printf
- Вычисление и сохранение результата деления a на b в переменную answer с использованием типа данных float и явного приведения типа (float)
- Вывод на экран результатов деления с использованием функции printf
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д