C言語初心者です。
スクラッチで球の体積を求めるプログラムをつくり、
それに沿ったプログラムを書きたいのですがうまくいきません。
コードは以下の通りです。(スクラッチでは添付画像のように作り、動きました)
#include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc,char *argv[]) { double r;//半径 double V;//体積 double X;//分割数 double P;//床面の数 double x;//sqの中心 double y;//sqの中心 double No_x;//番号x double No_y;//番号y double h;//高さ double c;//中心 double D;//x方向の分割数 r=1; V=0; X=1000000; P=r/X; c=P/2; D=X; No_x=No_y=0; while(No_x<X){ x=No_x*P+c; y=No_y*P+c; h=(sqrt(r*r)-sqrt((x*x)+(y*y))); V+=(V+((P*P)*h)); No_x=No_x+1; } while(No_y<X){ No_x=0; D=(sqrt(r*r)-((No_y*P)*(No_y*P))); No_y=No_y+1; } V=V*8; printf("球の体積は%0.10fです。\n",V); return 0; }
【表示される警告】
variable 'D'set but not usedと表示されDが機能していないようですが、
その原因も分かっておりません。
結果は”球の体積はinfです”と表示されてしまっています。
【開発環境】
Linuxのubuntu上で開発しています。
while文の使い方から間違えているのかと思い、
ループ位置の変更など試してみましたがうまくいかない状況です。
超初心者質問で申し訳ありませんが、教えていただけますと幸いです。
回答2件
あなたの回答
tips
プレビュー