Вычисляет, как часто значение появляется на языке c - PullRequest
0 голосов
/ 20 ноября 2018

как узнать, как часто появляется число ??

мой код:

#include <stdio.h>

int main(){

 int count,same,n=7,a,max;
 max = 0;

 printf("Input Number : \n");

 for(int i=1; i<=n; i++){
   scanf("%d",a);
   if(i == 1){
    max = a;
   }
   else if(max < a){
    max = a;
   }
   else if(same < a){
     same = a;
     count++;
   }
 }
  printf("Max : %d\n",max);
  printf("Same : %d line",count);
  return0;
}

ожидаемый результат:

1
1
2
3
4
5
6

Max : 6
Same : 2 line

я хочу посчитать макс.числа, которое я ввожу, и как часто число появляется, если я ввожу 2 одну и ту же строку числа 1

1 Ответ

0 голосов
/ 20 ноября 2018

Две проблемы здесь.Во-первых, вы звоните scanf:

scanf("%d",a);

Спецификатор формата %d ожидает и адрес для int, но вместо этого вы передаете int.Измените это на:

scanf("%d", &a);

Во-вторых, вы неправильно отслеживаете счет максимального числа.Вы никогда не инициализируете same и не сбрасываете счетчик при изменении максимума.Оставьте same и вместо этого проверьте, является ли текущее число максимальным:

   if(i == 1){
     count = 1;
     max = a;
   }
   else if(max < a){
     max = a;
     count = 1;
   }
   else if(max == a){
     count++;
   }
...