当用户输入“-1”时让数组停止

时间:2012-10-29 02:16:15

标签: c

我的项目是我必须让用户在数组中输入5000个数字,但允许他们随时停止。我有大部分代码,但是当用户输入“-1”然后显示数组时,我无法弄清楚如何停止所有代码。到目前为止,这是我的代码:

#include <stdio.h>
#include<stdlib.h>
#define pause system("pause")
#define cls system("cls")
#define SIZE 50
int i;


main() 
{

int i;
int userInput[SIZE];

for (i = 0; i < SIZE; i++) 
{
    printf("Enter a value for the array (-1 to quit): ");
    scanf("%i", &userInput[i]);

} // end for

for (i = 0; i < SIZE; i++) 
{
    if (userInput[i] == -1) 
    printf("%i. %i\n", i + 1, userInput[i]);
    pause;
} // end for


pause;
  } // end of main 

1 个答案:

答案 0 :(得分:2)

在第一个for循环中,添加一个if语句来检查输入并在输入为-1时中断循环。

 for (i = 0; i < SIZE; i++) {
    printf("Enter a value for the array (-1 to quit): ");
    scanf("%i", &userInput[i]);
    if(userInput[i] == -1){
      break; //break the for loop and no more inputs
    }
  } // end for

此外,我认为您要显示用户输入的所有数字。如果是,则第二个循环应如下所示:

for (i = 0; i < SIZE; i++) {
   printf("%i. %i\n", i + 1, userInput[i]);
   if (userInput[i] == -1) {
      break; //break the for loop and no more outputs
   }
 } // end for