自由落体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);
}