桁数を求めるプログラム。
入力した数字の桁数を表示させるというプログラムを考えています。
例)
135
この数字の桁数は3桁です。
などと表示させたいと思っています。
それで、私は入力した数値を10で割っていって入力した数値aがa<=0になったらループを終了して
何回ループしたかのカウンタで桁数を表示させようかと考えました。
たとえば135→13.5→1.35→0.135で整数部分が0となるのでループを打ち切って
3回繰り返したので3桁と表示させたいと思いました。
それでプログラムを考えてみたのですが、どうにもうまくいきいません。
どのように修正したら桁数が表示できるようになるでしょうか?
#include <stdio.h>
main()
{
double a=0;
int n=1;
scanf("%d",&a);
while(1)
{
a=a/10.0;
if(a<=0){
break;
}
n++;
}
printf("その数は%d桁です。\n",n);
}
お礼
ありがとうございます。参考にします。