我的项目是我必须让用户在数组中输入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
答案 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