Почему проходит всего одна итерация?
#include <stdio.h>
#include <math.h>
int res=0,counter=0,N,cikl;
float number,sr;
int main(){
printf("Write N: ");scanf("%i",&N);
for (cikl=0;cikl<N;cikl++){
printf("Write some float number: ");scanf("%f",&number);
if (fmod(number,7.0)==0){
res=res+number;
counter++; }
sr=res/counter;}
printf("%f",sr);
return 0; }
Работаю на VScode, запускаю код а проходит всего лишь одна итерация цикла? В чем может быть проблема?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Вероятно, первым же числом (Write some float number:
) вы вводите НЕ 7, получаете ненулевое значение в fmod
, и в результате деление 0/0 — и программа аварийно завершается...
Встречный вопрос — вы хотя бы 5 минут думали над проблемой? Вставляли отладочный вывод, типа, printf("Line %d\n",__LINE__)
или со значениями переменных, если уж отладчиком воспользоваться не судьба? Или сразу бросились жаловаться в Интернет, что вас компилятор обижает? Поймите, ответить нетрудно, но программистом при этом вы не станете...