2

これは宿題の質問ではなく、ただ興味があるだけです。3 桁の数字、たとえば 123 を計算するプログラムがある場合、どうすれば "1" だけを取得できますか? 最後に「(最初の数字) で...そして (最後の 2 桁) で...」というメッセージを印刷しようとしていますが、そのシングルを保存または取得する方法がわかりません。桁。何か案は?配列を使用する以外にこれを行う簡単な方法はありますか?ありがとう。

4

3 に答える 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 に答える