有什么方法可以打印用户使用数组输入的值?

时间:2019-02-04 14:06:04

标签: c

它打印了错误的数字/随机数。我要打印的数字高于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 :(得分:1)

如果在“ for”循环中,请使用。并将“数组”更改为“ arr”或其他名称。该数组有时会成为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;
}

答案 1 :(得分:0)

您有几个错误:

  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;
}