>>75
これじゃだめなの?

int keta ( unsigned int n ){
int k;
for (k=0; n>0; k++,n/=10);
return k;
}