2

我的项目是我必须让用户将 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 
4

1 回答 1

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
于 2012-10-29T02:19:05.653 回答