プログラミング初心者です。
高さ h [m] の地点から速度 u0 [m/sec]で質点を水平に投げたとき, 質点が地上に到達するまで,0.1s毎の質点の位置 x, y ならびに速度成分 u, v を画面に出力させるプログラムを作成したいです。
ただし、
1.初期条件h、u0を入力する関数
2.x,y,u,vを計算する関数
の2つの関数を必ず作成しなければなりません。
ご教授のほど宜しくお願い致します。
すみません。下記が自分で作ったソースコードです。
回答してくれた方はとてもありがたいのいですが、
下記のもので間違っているところを指摘していただけたら幸いです。
double hscan(void){
double h;
printf("h?");
scanf("%lf",&h);
return h;
}
double u0scan(void){
double u0;
printf("u0?");
scanf("%lf",&u0);
return u0;
}
double vy(double vy1){
double vy2; vy2=vy1-9.8*0.1; vy1=vy1-9.8*0.1; return vy2;
}
double placey(double y,double vy2){
double y1; y1=y+vy2*0.1; y+=vy2*0.1; return y;
}
double vx(double vx1){
double vx2; vx2=vx1; return vx2;
}
double placex(double x,double vx1){
double x1; x1=x+vx1*0.1;
x+=vx1*0.1;
return x1;
}
int main(void){
double h,u0,x,y,u,v; h=hscan(); u0=u0scan(); do { u=vx(u0); x=placex(0,u0); v=vy(0); y=placey(h,0); } while(y>0); printf("u=%lf,v=%lf,x=%lf,y=%lf",u,v,x,y); return 0;
}

回答1件
あなたの回答
tips
プレビュー