変数が特定の範囲内にあるかどうかを確認するには、数字の間に3つのスペースがある数字の個々の数字を入力します。たとえば1234年のために私は、私はちょうど私の悩みのループ内の変数の数を変更することが生じています行なわ割り当てのほとんどを持っているかなり確信しているループプロセス内の変数の変更
0 1 2 3 4
1 2 3 4
2 3 4
3 4
4
を印刷する必要があります。数字が右のif文にソートされますが、数字が数字(2343〜343)の代わりにループするときは、同じ数字が5回印刷されます。私は自分の本を調べてオンラインで見ましたが、私はそれを見ていません。それはおそらく何かが分からない単純なものです。
#include <stdio.h>
#include <stdlib.h>
void loopingDigitprinter(int digit);
int division(int* digit);
int main()
{
int digitPrint;
printf("Please enter a number between 0 and 32,767: ");
scanf("%d", &digitPrint);
loopingDigitprinter (digitPrint);
return 0;
}
void loopingDigitprinter(int digit)
{
int loopLine= 0;
int thousand;
int hundred;
int original;
original = digit;
while(loopLine < 4)
{
if (digit > 10000 && digit <= 32767)
{
thousand = digit/ 1000;
hundred = digit % 1000;
printf("%02d%03d\n",thousand, hundred);
digit %= 10000;
}
else if (digit < 10000 && digit > 1000)
{
if (original > 10000)
{ thousand = digit/ 1000;
hundred = digit % 1000;
digit %= 1000;
printf("%01d%03d\n",thousand, hundred);
}
else
{
thousand = digit/ 1000;
hundred = digit % 1000;
printf("%02d%03d\n",thousand, hundred);
digit %= 1000;
}
}
else if (digit < 1000 && digit > 100)
{
if (original > 10000)
{
hundred = digit % 1000;
printf("%d\n", hundred);
digit %= 100;
}
else if (original < 10000 && original > 1000)
{
thousand = original/1000;
hundred = digit % 1000;
printf("%d%d\n",thousand,digit);
printf("%d\n", digit);
digit %= 100;
digit %= 100;
}
else
{
thousand = digit/ 1000;
hundred = digit % 1000;
printf("%02d%03d\n",thousand, hundred);
digit %= 1000;
thousand = original/1000;
hundred = digit % 1000;
printf("%d%d\n",thousand,digit);
printf("%d\n", digit);
digit %= 100;
printf("%d\n", digit);
digit %= 10;
printf("%d\n", digit);
}
}
else if (digit < 100 && digit > 10)
{
if (original > 10000)
{ hundred = digit % 1000;
printf("%d\n", hundred);
digit %= 10;
printf("%d\n", digit);
}
else if (original < 10000 && original > 1000)
{
thousand = original/1000;
hundred = digit % 1000;
printf("%d\n",hundred);
digit %= 10;
printf("%d\n", digit);
}
else if (original < 1000 && original > 10)
{
thousand = digit/ 1000;
hundred = digit % 1000;
printf("%02d%03d\n",thousand, hundred);
digit %= 1000;
thousand = original/1000;
hundred = digit % 1000;
printf("%d%03d\n",thousand,digit);
printf("%03d\n", digit);
digit %= 100;
printf("%d\n", digit);
digit %= 10;
printf("%d\n", digit);
}
else
printf("1");
}
else if(original > 0 && original < 10)
{
printf("0000%d\n", original);
printf("000%d\n", original);
printf("00%d\n", original);
printf("0%d\n", original);
printf("%d\n", original);
break;
}
loopLine++;
}
return;
}
これは、同様の問題に遭遇する人のために更新されたコードです。うまく動作するだけで、スペースはまだ実装されていません。私が知りたいと思っているより単純な解決策がある場合。私はループの実装をよりよく理解しようとしています。 – Stevenfowler16