/* 十進数で5桁までの数を入力として受け付ける */ #define KETA_MAX 5 /* 返り値の型:char */ /* 引数:int 型の整数 */ char f( int x ) { /* 使用変数の宣言 */ int keta; int i; int j; char y[KETA_MAX + 1]; /* 桁数 keta を得る */ keta = 1; while() { if( x < pow(10, keta) ) { /* pow は累乗関数 - pow( b, p) は b のp 乗 */ break; } keta++; /* 入力制限内かどうかのチェック */ if( keta > KETA_MAX ) { echo "入力可能な数は十進数で".stci_d( KETA_MAX)."桁までです。"; /* stci_d は数の十進表現文字列を返す */ exit; /* プログラムを終了 */ } } /* 各桁の数を得る */ for( i = keta; i > 0; i-- ) { j = 1; while() { if( x < j * pow(10, (i -1)) ) { y[keta - i] = j - 1; x = x - y[keta - i] * pow(10, (i -1)); break; } j++; } } y[keta] = "\n"; /* 文字列の終わりを示す NULL 記号を付けて,文字列が確定 */ return y; }