㈠ 求一个c语言小球自由落体的代码,要求超过100行
#include<stdio.h>
intmain(){
intcurve[31][37]={0};//图像保存在30*36矩阵内
doubleA,AM=30;//第一周期幅值
doublek=0.18;//幅值递减率
inti,x,y;
for(i=0;i<4;++i){//共画出4个周期
A=(1-i*k)*AM;
for(x=0;x<9;++x){//每个周期用9个点描画
y=-(int)(x*A*(x-8)/16.0);
curve[y][x+i*8]=1;
}
}
for(y=30;y>=0;--y){
for(x=0;x<37;++x){
if(curve[y][x])printf("+");
elseprintf(".");
}
printf(" ");
}
return0;
}
㈡ c语言求它的完整代码 编码求解一个小球从100米高度自由落下,每次落地后反弹回原高度的一半;再落下
//以下程序,sum为经过的距离,hight为高度
#include<stdio.h>
#include<cstdlib>
intmain()
{inti;
floatsum,hight;
sum=100.0;
hight=100.0;
for(i=2;i<=10;i++)
{
hight/=2;
sum+=hight*2;
printf("第%d次:%.2f%.2f ",i,sum,hight);//若不需要,此行可删除
}
printf("%.2f%.2f ",sum,hight);
system("pause");
return0;
}
㈢ ●●●●C语言~一个球从100米高度自由落下,每次落地后...
编程题:一个球从100m高度自由落下,每次落地后反跳回原来高度的一般,再落下.求第10次落地时,共经过多少米?第10次反弹的高度。
c:
#include<stdio.h>
voidmain()
{
doublea=100,b=0,n,sum=100;
printf("请输入落地次数n: ");
scanf("%lf",&n);
for(inti=0;i<n;i++)
{
sum=sum+2*b;
a=a/2;
b=a;
}
printf("小球从100m高处落地%.0lf次时,共经过%lf米 第%.0lf次落地后反弹的高度为%lf米 ",n,sum,n,a);
}
c++:
#include"pch.h"
#include<iostream>
usingnamespacestd;
voidmain()
{
//std::cout<<"HelloWorld! ";
while(1){
doublea=100,n,sum=100;
cout<<"请输入落地次数n: ";
cin>>n;
for(inti=0;i<n;i++)
{
a=a/2;
if(i==0){
sum=sum;
}
else{
sum=sum+4*a;
}
}
cout<<"小球从100m高处落地"<<n<<"次时,共经过"<<sum<<"米 第"<<n<<"次落地后反弹的高度为"<<a<<"米 ";
}
}
是这个么?是就请采纳!
㈣ C语言关于小球自由落体的循环设计
#include<stdio.h>
#include<math.h>
int main()
{
double a1=100,sum=0;
int i=0;
do
{
sum=sum+a1;
a1=0.5*a1;
sum=sum+a1;
i++;
}while(i<=9);
sum=sum+a1;
a1=0.5*a1
printf("%d\t%d\n",sum,a1);
return 0;
}
㈤ c语言编程,一小球从100米的高处落下,每次弹起的高度都是前一次的四分之
#include<stdio.h>
int main()
{int i=0;
float s=100,h=100*0.75;
while(s<590)
{
s+=2*h;
h*=0.75;
i++;
}
printf("落地次数=%d ",i);
return 0;
}
㈥ C语言编写程序解决小球下落反弹问题用
#include <stdio.h>
main()
{
float sum=0;
int i=0;
float height=100;
sum+=height;
while(i<10)
{
height=height/2;
sum+=2*height;
i++;
}
printf("总长度:%f 第10次跳%f米",sum,height);
}
㈦ c语言程序设计小球的自由落体运动
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
int main(void)
{int gmode,gdriver=DETECT;
void *ball;
int x,y,t,f,v;
unsigned int size;
initgraph(&gdriver,&gmode, " ");
x=100;
y=200;
t=0;
f=0.1;
circle(x+10,y,10);
size=imagesize(x,y-10,x+20,y+10);
ball=malloc(size);
setfillstyle(SOLID_FILL,BLACK);
while(!kbhit()){
cleardevice();
t++;
y=y-9.8*(1-f)*t*t/2;
outtextxy(100,100, "v ");
v=(1-f)*9.8*t;
circle(x+10,y,10);
printf( "%d ",v);
delay(1000);
}
free(ball);
closegraph();
return 0;
㈧ c语言,一个球从某高度h落下,每次落地后反弹回原来高度的一半,再落下。编程计算球在10次落地
根据你的题目和输出样式截图分析:
1、每次输出当前坠落的高度,及球本次坠落后经过的距离总和。
2、输出包含小数,因此高度及距离变量采用浮点数。
3、递归/循环只执行10次。
3、看你图上,输出浮点数小数不显示多余的0,因此打印格式要用%g而不是%f(最多保留6位)。
#include <stdio.h>
void drop(float height);
int main()
{
float height;
printf("初始高度:");
scanf("%f",&height);
drop(height);
return 0;
}
void drop(float height)
{
static int cnt=1;
static float distance=0;//每次坠落后球移动的距离总和
if(height>0){
distance+=height;
printf("第%d次高度%g ",cnt,height);
printf("第%d次距离%g ",cnt,distance);
if(cnt<10)
cnt++,distance+=height/2,drop(height/2);
else
cnt=1,distance=0;
}
}
㈨ 用C程序编写:一个球从100m高度自由落下,每次落...
因为这9次有一个上升和回落的过程,而第一次只有下降,而第一次下降为100米,所以s的初始值设为100,然后再循环9次就可以得到结果了。
ncludestdio.h>
void main()
{
long a;int j,i=0,b[20];
scanf("%ld",&a);
while(a!=0)
{
b[i++]=a%10;
a=a/10;
}
for(j=i-1;j>=0;j--)
printf("%d ",b[j]);
printf(" 这是%d位数 ",i);
}
(9)c语言怎么实现小球落下的效果扩展阅读:
C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。
㈩ c语言课程设计"小球从空中落下,弹起,再落下,弹起幅度越来越小,直至停下"的动画
//环境:MicrosoftVisualC++6.0+EasyX
#include<graphics.h>
#include<conio.h>
#include<math.h>
#include<stdio.h>
#defineWIDTH100
#defineHEIGHT400
#defineRADIUS10
#defineTIMEDIV0.001
voidf(doubleheight,doubleair_k)
{
initgraph(WIDTH,HEIGHT,SHOWCONSOLE);
setaspectratio(1,-1);
setorigin(0,HEIGHT-RADIUS);
inty_pos=HEIGHT-RADIUS*2;
boolis_down=true;
doublev=0;
BeginBatchDraw();
doublex_frac=0,x_int;
for(;;)
{
Sleep((unsignedlong)(TIMEDIV*1000));
doublea=((is_down?1:-1)-air_k)*9.8;
doublex=(is_down?-1:1)
*(v*TIMEDIV+0.5*a*TIMEDIV*TIMEDIV)
*((HEIGHT-2*RADIUS)/height);
x_frac=modf(x+x_frac,&x_int);
y_pos+=(int)x_int;
if(is_down&&y_pos<=0)
{
is_down=false;
}
v+=a*TIMEDIV;
if(!is_down&&v<=0)
{
if(y_pos>0)is_down=true;
elsebreak;
}
cleardevice();
solidcircle(WIDTH/2,y_pos,RADIUS);
FlushBatchDraw();
if(kbhit()&&getch()=='')break;
}EndBatchDraw();
MessageBox(NULL,"小球已停止","balldown",0);
closegraph();
}
intmain()
{
do{
doubleheight,air_k;
printf("请输入下落高度(单位:米)(小数,大于0):");
scanf("%lf",&height);
printf("请输入空气阻力系数(即空气阻力与小球重力的比值)(小数,0~1):");
scanf("%lf",&air_k);
printf("按空格可重新开始");
f(height,air_k);
Sleep(1);
system("cls");
}while(1);
getch();
return0;
}