重複の可能性:
指定された数字の桁を特定します。
文字列に変換せずに数値の各桁を印刷する必要があります。それが可能だ?例えば:
int n = 1234;
int x;
while( ?? ) {
x = ??
printf("%d\n", x);
}
それは印刷します:
1
2
3
4
これを行う方法がわかりません。前もって感謝します。
重複の可能性:
指定された数字の桁を特定します。
文字列に変換せずに数値の各桁を印刷する必要があります。それが可能だ?例えば:
int n = 1234;
int x;
while( ?? ) {
x = ??
printf("%d\n", x);
}
それは印刷します:
1
2
3
4
これを行う方法がわかりません。前もって感謝します。
これは宿題じゃないと言ってくれない限り、私は完全な答えは出しません。
x / 10
最後の桁がx
取り除かれていることに注意してください。など123 / 10 = 12
_ 45 / 10 = 4
_
x % 10
の最後の桁が得られることに注意してくださいx
。など123 % 10 = 3
_ 45 % 10 = 5
_
これは実際に数論/数学的方法に触れています。たとえば、1234 という数字は のように記述できます1x10^3 + 2x10^2 + 3x10^1 + 4x10^0
。%
次に、(mod) と/
(整数除算) を使用して各桁を抽出する方法を考えてみましょう。
最大桁数がわかっている場合は、/ と % を使用してそれを行うことができます
たとえば、千の位を求めたい場合、答えは
num =...
int thousands = (num / 1000) % 10
あなたは実際にこれをループで行うことができます