Итак, я должен написать программу, которая читает числа, находит наибольшее число и сообщает пользователю, как часто он появляется. Программа также должна остановиться, если она читает 0, но у меня проблемы с этим.Поиск наибольшего числа, его частота, остановка на 0
Пока я ввожу его, он печатает max как 0 каждый раз. Часто частота также прикручивается.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <cstdlib>
int main()
{
int max, count, a;
count =1;
printf("Enter numbers:");
scanf("%d", max);
do
{
scanf("%d",&a);
if(max<a)
{
max=a;
count=1;
}
else if (max=a)
{
count++;
}
else count+=0;
}
while(a!=0);
printf ("The largest number is %d, and it occurs %d times \n", max, count);
/* system("pause"); */
printf("Press enter to continue...\n");
fflush(stdin);
getchar();
return 0;
}
Вопросы, требующие помощи по отладке («почему этот код не работает?») Должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для воспроизведения в самом вопросе. Вопросы без четкого описания проблемы не полезны другим читателям. См.: Как создать минимальный, полный и проверенный пример. – Olaf
В ответах ниже рассматриваются реальные проблемы в вашем коде, но ... 'else count + = 0;'? На что вы надеетесь достичь здесь? – mah
@mah Настоящий программист ночью ставит два бокала возле своей кровати. Стакан с водой, в случае, если он будет жаждать, и пустой, если он этого не сделает. –