宿題の一部で、ユーザーは 2D 配列に格納される単語を入力するよう求められます。これらの入力された文字列は、単語検索パズルに隠されます。ユーザーが単語「done」を入力するか、ユーザーが 20 単語を入力するまで、プロンプトはループし続ける必要があります。また、単語が実際のパズルよりも大きい場合は、エラー メッセージが表示され、プロンプトが再びループします。while ループは、この問題に取り組むための最良の方法だと思いました。
これは私がこれまでに持っているものです:
int row = 0;
int column = 0;
char word[20][100] = {};
int i = 0;
while(i < 20)
{
printf("Enter a word you would like hidden in the puzzle. Type 'done' when finished:\n");
scanf("%s",word[i]);
if((strlen(word[i]) > row) || (strlen(word[i]) > column))
{
printf("Error. Word was too long to enter into puzzle.\n");
}
else
{
i++;
}
}
ループは 20 単語が入力されるまで続きますが、「done」という単語が入力された後にプログラムがループを終了するように while ステートメントを再構成するにはどうすればよいですか? また、'done' が入力された場合は、配列に入力しないでください。配列の最後の文字列は、'done' の直前に入力されたものでなければなりません。