输入-1后将停止从输入询问的数组(请勿打印-1)

时间:2018-07-11 01:04:38

标签: c

我正在处理一个数组,实际上很简单,它将允许用户输入5个数字然后打印该数组,我已经开始工作了很多,但是当用户输入时可以满足第二个条件-1,这将导致Array根据当前输入的数字进行打印,但应包括-1,我似乎无法做到这一点,这是我的代码:当前它可以执行我需要的一切,但仍会打印-1帮助将不胜感激

#include <stdio.h>
#include <stdlib.h>
#define ARR 5

main() {
    int i = 0;
    int arr[ARR];

    for (i = 0; i < ARR; i++)
    {
        printf(" Enter a number: ");
        scanf("%i", &arr[i]);
        if (arr[i] == -1) {
            break;
        }
    }

    printf(" the Numbers in the array are %i : ", i);

    for (i = 0; i < ARR; i++) {
        printf("\n %i, %i", i, arr[i]);
        if (arr[i] == -1) {
            break;
        }
    }

    printf("\n");
    system("pause");
}

2 个答案:

答案 0 :(得分:0)

别担心,对不起我使用了错误的标签,我发现          我做错的是我将printf语句移出的代码顺序         for循环

    for (i = 0; i < ARR; i++) {
        if (arr[i] == -1) {
            break;
        }
        printf("\n %i, %i", i, arr[i]);
    }
     and now its working as intended. Someday i hope to able to post more here and 
     help others right now im just a noob learning as i go.

答案 1 :(得分:0)

只需稍早移动if条件,以便在打印之前先检查-1。

if (arr[i] == -1) {
  break;
}
printf("\n %i, %i", i, arr[i]);