前提・実現したいこと
値nを入力して、nの平方根を求めるプログラムを作りたいです。
main文はそのままで、関数の所だけを変更させて、プログラムを作りたいです。
発生している問題・エラーメッセージ
2の値を入力した時には1.42
3の値を入力した時には、1.74
100の値を入力した時は、10.01
とすべて0.1多い値が表示されてしまいます。
しかし、<=を<に変更して見ると、
2の値を入力した時には1.42
3の値を入力した時には、1.74
100の値を入力した時は、10.00
と表示されます。
正しく表示させるためには、どこを直せばよいでしょうか。
該当のソースコード
C言語
#include <stdio.h>
int isqrt(int n)
{
int m=0 ;
while(m * m <= n ){ m++; } return m;
}
int main(void) {
int n;
printf("非負の整数を入力して下さい: "); scanf("%d", &n); printf("%d の平方根を小数第 2 位まで求めると %.2f です。\n", n, isqrt(n * 10000) / 100.0); return 0;
}
試したこと
<=を<にすること。
補足情報(FW/ツールのバージョンなど)
サクラエディタを使っています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/03 23:00
2020/02/04 00:56
2020/02/04 11:23