フリップされた数字が含まれている桁数で割り切れる場合、1つの数字は面白いです。したがって、プログラムはインジケータn(n> 9)をSIから読み込む必要があります。 nより小さな興味深い数字を見つけて印刷してください。入力番号が無効な場合、「無効な入力」が表示されます。 これは私が書いたコードですが、動作させることはできません。 私は親切に助けを求めます。事前に おかげ与えられた整数よりも小さい最大の興味深い数字を見つけよう
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n, flippedNumber=0, remainder;
int count = 0, i;
scanf ("%d", &n);
int largestInteresting = n;
while (n != 0)
{
n /= 10;
++count;
}
while (n > 9)
{
for (i = 0; i < n; i++)
{
remainder = n%10;
flippedNumber = flippedNumber*10 + remainder;
n /= 10;
}
--largestInteresting;
}
if ((flippedNumber % count) == 0 && largestInteresting > i)
printf ("%d", largestInteresting);
else
printf ("Invalid input");
return 0;
}
* *これはやるんか?一つのことは、最初のwhileループは 'n == 0'まで実行され、' n'は決して '9'よりも大きいことができないため、2番目のループは決して実行されません。 –
投稿されたコードが実行されると、ユーザーには点滅するカーソルが残され、ユーザーが次に行うことが予想されるものは示されません。ユーザーが何かを入力することが予想されるたびにプロンプトを出力することを提案する。このプロンプトは、入力する入力の範囲とタイプをユーザーに伝える必要があります。 – user3629249
の最初の 'while()'ループの最後に 'n'は0になります。次に、2番目の 'while()'ループは決して入力されません。可読性と理解を容易にするため – user3629249