/* 十進数で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;
}
|