
入力した数字の桁数を表示させるというプログラムを考えています。
例)
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);
}
No.3
- 回答日時:
NO.1の者です。
a<1
ではなく、
a>1
にはなっていませんか?
#include <stdio.h>
main()
{
double a=0;
int n=1;
scanf("%d",&a);
while(1)
{
a=a/10.0;
if(a<1){
break;
}
n++;
}
printf("その数は%d桁です。\n",n);
}
でif(a<1)とだけ直してみましたが、実行結果は1桁にしかなりません。
ほかにまずい点があるでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PIC のプログラムについて ど...
-
For文の終了値を関数にしても問...
-
ループを途中で抜けたいのですが。
-
最早開始時間と最遅完了時刻を...
-
【C++】関数ポインタの使い方
-
既定のコンストラクタがありま...
-
Aの値からBの値を除するとは??
-
「Aに対するBの割合」と「Aに対...
-
信頼区間の1.96や1.65ってどこ...
-
a^2の√=a が成り立たない場合
-
VB6.0での小数点の扱いについて
-
配列をnビットシフトする
-
数学 一次関数 関数 y=-3/4x+k(...
-
c languageで 簡単な質問があ...
-
C言語 エラーの原因がわからな...
-
#define _CRT_SECURE_NO_WARNIN...
-
プログラムでの数字につく”f”の...
-
C言語で複数列のデータを1列の...
-
c言語で、繰り返し文の中で、0....
-
sscanfとscanfの違いがよくわか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ループを途中で抜けたいのですが。
-
do-while文が禁止される理由
-
PAD図の書き方
-
入力した文字列から母音だけを...
-
入力した数値を倍々するプログラム
-
if文の中にfor文なのか、for文...
-
C言語forループが完結した場合...
-
アルゴリズムです!四つの数字...
-
break文でループを一気に抜ける...
-
エクセルVBAで Do While (1)って?
-
モンテカルロシミュレーション...
-
このC#プログラムの1〜11を埋め...
-
プログラミングC言語についての...
-
C++ DirectX カーソルの移動処...
-
HEWのバグ?
-
ゲームオーバーのプログラム
-
プログラムで関数は使わない方...
-
Delphiで・・・
-
他言語で言うcontinue文
-
Excel VBAで年度をまたぐ期間の...
おすすめ情報