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 つ追加し、入力が の場合はループを中断します-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

また、ユーザーが入力したすべての数字を表示したいと思います。はいの場合、2 番目のループは次のようになります。

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 に答える