前提・実現したいこと
ここに質問の内容を詳しく書いてください。
質問させていただきます。
C言語の練習で自分で半径を入力して円面積を求めるプログラムを作りたいです。
発生している問題・エラーメッセージ
計算結果が間違って出てしまいます。 例 半径を5.2と入力 結果:円面積は26914882383655780166371598001622524200892349219827507197748515283314282573677855629794056961097483154940535027676180450902016.000000です と出てしまいます。 一応このソースコードは 問題は見つかりませんでした とでて入力画面までは表示されました。
該当のソースコード
C言語
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main(void) { double r, s, pi = 3.14159; printf("半径を入力してください:"); scanf("%1f", &r); s = pi * r * r; printf("円面積は%fです\n", s); return 0; }
試したこと
式が違うのかと思い半径に0を入れても円面積は26914875184016273951273581733934265722636000718392629061689252907985372049791848107121281283216742128545398449148669751984128.000000です
となり掛け算しか使ってないのに0ではない答えが出ました。
補足情報(FW/ツールのバージョンなど)
visual studio expressを使っています。
scanfが非推奨となっていたので一番上に#define _CRT_SECURE_NO_WARNINGSを定義して使っています。
回答3件
あなたの回答
tips
プレビュー