これは宿題の質問ではなく、ただ興味があるだけです。3 桁の数字、たとえば 123 を計算するプログラムがある場合、どうすれば "1" だけを取得できますか? 最後に「(最初の数字) で...そして (最後の 2 桁) で...」というメッセージを印刷しようとしていますが、そのシングルを保存または取得する方法がわかりません。桁。何か案は?配列を使用する以外にこれを行う簡単な方法はありますか?ありがとう。
29984 次
3 に答える
1
- 数値の長さを取得します。
- 反復して各桁を取得します。
以下にサンプルを示します。
#include <stdio.h>
#include <math.h>
int main ()
{
int n = 123, i; char buffer [33];
int len = n==0 ? 1 : floor(log10l(abs(n)))+1;
for(i=n;len--; i=(int)(i/10)) buffer[len] = (i%10);
printf("%d", buffer[0]); // First Digit
printf("%d", buffer[1]); // Second Digit
printf("%d", buffer[2]); // Third Digit... so on
return 0;
}
于 2013-07-17T03:32:32.593 に答える