自由落體c語言
1. 編寫自由落體運動的c語言程序
公式:h=1/2*gt^2,g=9.8
#include<stdio.h>
#include<math.h>
main()
{
floath,t;
printf("pleaseinputheight: ");
scanf("%f",&h);
t=sqrt(2*h/9.8);
printf("Thetimeis:%f",t);
getch();
}
2. c語言求自由落體
1、
按你寫的scanf("請輸入時間:%d",&t) ;
那麼輸入時,引號內所有的內容都要輸入,例如想輸入t的值為5,那麼你需要輸入
請輸入時間:5
一般不是這樣寫的,而是用printf語句輸出提示語句,用scanf語句輸入數值。
printf("請輸入時間:");
scanf("%d",&t);
2、
pow函數一般要求兩個參數都是double型,至少第一個參數嚴格要求是double型,因此pow(t,2)不符合標准(個別簡化版本允許兩個都是int型)。應該將t強制轉為double型,即:pow((double)t,2)
程序:
#include<stdio.h>
intmain()
{
intg,t;
doubles;
printf("請輸入時間:");
scanf("%d",&t);
g=10;
s=g*pow((double)t,2)/2;
printf("在前%d秒內下落的距離:%.2f",t,s);
return0;
}
運行示例:
3. c語言程序設計。一個物體從100米的高處自由落下,編寫程序,求它在前三秒內下落的垂直距離,重力加速度為
#include <stdio.h>u>
void main()
{float a=10,t=3,s;
s=0.5*a*t*t;
if(s>100)
s=100;
printf("%.0fs:%f",t,s);
}
4. C語言-自由落體
#include<stdio.h>
voidJiSuan(double&h,inta[],intn)
{
inti,j;
for(i=0;i<n;i++)//一共收入了n個數
{
h=100.0;
for(j=0;j<a[i];j++)//根據數的大小知道到底是第幾次求高
{
h=h*0.7;
}
if(a[i]==0)//要是最後一個數據為0,則程序停止
{
return;
}
printf("%.2f ",h);
}
}
voidmain()
{
doubleh=100.0;
int*p,i,n;
printf("請輸入數組長度: ");//動態數組
scanf("%d",&n);//n值即為要求多少組所要求的數據
p=newint(n);
printf("請輸入數據: ");
for(i=0;i<n;i++)
{
scanf("%d",(p+i));
}
JiSuan(h,p,n);
}
/*有問題可以HI我,呵呵*/
/*由於不知道要求多少組數據,故採用了動態數組*/
5. C語言 自由落體
m = m/2; y = y+m*3;
表明的是 一次彈起到最高點的時候經過的路程,問題是什麼? 樓主可以看看 是第N次落地時候反彈多高,共經過多少米,樓主的計算公式比它多了個最後彈起的高度 ,應該減去最後一次彈起的高度!
舉個例子 1000米的時候 彈起一次反彈多高呢 ? 顯然是500 經過的路程呢 1000 按照樓主的計算公式就是1500米,多在了最高多計算了一次 減去就行了!改程序的循環部分 我還沒沒有想好 ,不過按下面這樣改
#include<stdio.h>
#include<string.h>
int main()
{
float m,n,i,y=0;
scanf("%f%f",&m,&n);
for(i=0;i<n;i++)
{
m=m/2;
y=y+m*3;
}
y -= m;
printf("%.2f %.2f\n",m,y);
}