Есть ли способ для печати значения, которое пользователь вводит с массивом? - PullRequest
0 голосов
/ 04 февраля 2019

Он печатает неправильное число / случайное число.Я хочу напечатать числа выше 75.

int main() {
    int array[5];
    int num, i;

    for (i = 1; i <= 5; i++) {
        printf("Input Num %d : ", i);
        scanf("%d", &num);
    }
    if (num >= 75) {
        printf("%d\n", array[i]);
    }
    return 0;
}

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

У вас есть пара ошибок:

  1. Вы перебираете неправильный набор.Массивы в C начинаются с 0, а НЕ 1.
  2. Вы никогда не устанавливаете значение для массива.Что это должно содержать тогда?Случайные вещи, конечно.Вы можете избежать этого, инициализируя ваш массив в ноль.Таким образом, вы узнаете, что не пишете в array, если в выводе есть нули.

Код:

#include <stdio.h>

int main() {
  int array[5] = {};
  int num = 0,i;

  for ( i = 0; i <5; i++) {
    printf("Input Num %d : ",i );
    scanf("%d",&num );
    array[i] = num;
  }
  for ( i = 0; i <5; i++) {
      if (array[i] >= 75) {
          printf("%d\n",array[i]);
      }
  }
  return 0;
}
0 голосов
/ 04 февраля 2019

Пожалуйста, используйте, если внутри цикла "for".и, пожалуйста, измените "массив" на "обр" или другое имя.Когда-нибудь массив будет ключевым словом в c ++.не следует использовать «массив» для именования переменных.вот мое решение:

int main() {
    int arr[5];
    int num, i;

    for (i = 1; i <= 5; i++) {
        printf("Input Num %d : ", i);
        num = 0;
        scanf("%d", &num);
        arr[i-1] = num;

    }

    for (i = 1; i <= 5; i++) {
        if (arr[i - 1] >= 75) {
            printf("%d\n", arr[i - 1]);
        }
    }

    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...