Это проблема из учебника. Мне нужно, чтобы пользователи могли вводить целые числа и видеть наибольшие и подсчитывать, сколько раз появляется наибольшее число. У меня все работает, кроме подсчета. Я пытался выяснить это на прошлой неделе.C наибольшее количество
#include <stdio.h>
#include <limits.h>
int bigEof(void);
int main(void){
bigEof();
}
int bigEof(){
int num;
int big;
int numOld;
int count = 0;
int programFinish = 0;
big = INT_MIN;
printf("Please enter an integer: ");
while (programFinish == 0){
scanf("%d", &num);
if (num > big)
{
big = num;
}
numOld = num;
if (numOld == big){
count++;
}else
count--;
printf("Please enter next Integer <EOF> to stop: ");
printf("The current biggest number is %d and is repeated %d times.", big, count);
}
return big;
}
Почему 'else count -'? Фактически, вся эта вещь с 'numOld' полностью избыточна. Просто 'count ++' после' big = num'. В качестве побочного примечания функция 'bigEof' возвращает значение, которое не используется ни для чего позже, оно также ничего не может вернуть. Функция 'main', с другой стороны, которая должна возвращать значение в соответствии с его объявлением, делает ** ** не так (обычно возвращает 0 при успешном завершении). –
Как и во всех таких вопросах, ответ прост: научитесь использовать ваш отладчик, затем выполните свой код по строкам и убедитесь, что ваши переменные - это то, что вы ожидаете от них. – dandan78
Это не большой E, это большая сигма капитала, греческая С. – philipxy