Почему мой расчет не совпадает с положением со средней ошибкой?Вычислить средний балл
У меня есть функция:
int student_average_scope() {
char name[50];
int group;
int exam;
int average = 0;
int digit = 0;
int counter_digits = 0;
for (int i = 0; i < 4; i++) {
sscanf(student_list[i], "%d %[^0-9] %d", &group, name, &exam);
while (exam > 0) {
digit = exam % 10;
average += digit;
counter_digits++;
exam = exam/10;
}
printf("%.1f\n", (double)average/counter_digits);
}
return 0;
}
Где student_list[i] = "4273 Константинопольский А. А. 4333 знзнз"
среднем равен 3,9, но правильный ответ 3.2! И если я делаю простую функцию, вычислить средний балл, дайте мне правильный результат (3.2). Где я ошибся?
int student_average_scope() {
int exam = "4333";
int average = 0;
int digit = 0;
int counter_digits = 0;
while (exam > 0) {
digit = exam % 10;
average += digit;
counter_digits++;
exam = exam/10;
}
printf ("%.1f\n", (double) average/counter_digits);
return 0;
}
«Это работа dosen't» не является хорошим explanation.Include больше деталей, как то, что выход вы получаете –
@CoolGuy ой, извините, спасибо. Я изменю свой ответ – rel1x
первый ответ дает мне правильный ответ? – SMA