ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

C言語とC++言語コミュのこのプログラム文どこか間違った。助けて

  • mixiチェック
  • このエントリーをはてなブックマークに追加
これはおれ作った高さによって地球重力を計算のプログラム文。でも計算した後、正しい答えがでない。げっそり誰か助けて、このプログラム文の間違ったところを教えてください。

#include<stdio.h>

int main(void)
{
double G=6.67*10E-11,Me=5.98*10E24,Re=6.37*10E6,h;

printf("h=");
scanf("%lf",&h);

printf("g=%f\n",(G*Me)/((Re+h)*(Re+h)));

return 0;
}



よろしくお願いします!わーい(嬉しい顔)

コメント(12)

ノートにでも、各変数に単位を付けて公式を書いて見ると、おかしなところがわかるでしょう。
なんか僕が勘違いしてますね。
そのプログラムで正しい答えでるんじゃないですか?
桁の幅が広いので、精度が保てないのでは?
乗数の部分は最後に一括して計算するようすれば精度がでるかもしれないです。
試しに、
printf("%f",G);
とかやってみたら?
GよりReを表示させたほうがわかりやすいか。
> sock/vuelaさん
もぅ!ビール吹いちゃったじゃんよ!
正しい答えが出ないというのは,入力と期待される出力と実際の出力とを添えて欲しい…

何が間違っているって,各定数が全部10倍.
プログラムの書き方的にはEの前の"*10"が要らない.
double G=6.67*10E-11,Me=5.98*10E24,Re=6.37*10E6,h;
→double G=6.67E-11,Me=5.98E24,Re=6.37E6,h;
あと >>3 で挙げられている点が問題だとしたら定数部分の有効桁数が
3桁なので >>4 は解決策にならない.

というか,この計算で意味あるのって高度1km以上?
>sock/vuelaさん
依頼人が留学生だからでは?
> Peria 
確か高度は1km以上だ。あせあせ

みんなありがとうございます

今C言語と物理の授業があるから
物理授業の宿題を見てこのようなプログラムを作ってみたい

でも答えとちょっと違う

今図書館のコンピュータ室にいるから

試せない、家を帰ったらすぐやってみる

もう一度ありがとうわーい(嬉しい顔)

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

C言語とC++言語 更新情報

C言語とC++言語のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング