Проверка того, сколько раз число появляется в массиве - PullRequest
1 голос
/ 05 марта 2019

Я застрял на этой проблеме некоторое время.Я новичок в программировании на C, и я хотел бы выяснить, как я могу видеть, вводит ли пользователь число от 1 до 20 и проверяет, появляется ли число, введенное пользователем, в массиве случайных чисел от 1 до 20, которыйзатем отображает пользователю, что число, которое они ввели, появляется "количество раз".

#include <stdio.h>
#include <stdlib.h>
#define N 30
int main(void)
{
    int nums[N];
    int numAppear, i, count = 0;
    int n;

    for (i = 0; i < N; i++) {
      nums[i] = rand()%20 + 1;
    }

    for (i = 0; i < N; i++) {
        printf("Enter a number between 1 and 20 to be found (<=0 for exit): ");
        scanf("%d", &n);

        if (n <= 0) {
            printf("End\n");
            break;
        }
        else if (nums[j] == n) {
            count++;
            printf("%d appears %d times \n" , n, count);
        }
        else {
            printf("%d appears %d times \n" , n, count);
        }
    }
    return 0;
}

1 Ответ

1 голос
/ 05 марта 2019

Вы запрашиваете у пользователя число на каждой итерации цикла и печатаете счет на каждой итерации.Кроме того, вы должны индексировать nums[i], а не nums[j]

Переместить вход до цикла, а выход после.

printf("Enter a number between 1 and 20 to be found (<=0 for exit): ");
scanf("%d", &n);

if (n <= 0) {
    printf("End\n");
    return 1;
}
for (i = 0; i < N; i++) {
    if (nums[i] == n) {
        count++;
    }
}
printf("%d appears %d times \n" , n, count);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...