當前位置:首頁 » 編程語言 » c語言怎麼實現小球落下的效果
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼實現小球落下的效果

發布時間: 2022-12-11 11:00:46

㈠ 求一個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米高度自由落下,每次落地後...

  1. 編程題:一個球從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;
}