① 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語言小球自由落體的代碼,要求超過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語言 隨機墜落的小球!!
提供給你我的小球運動程序,你可以按照著修改一下就可以了,可以取個隨即數作為小球初始定位。其他自己慢慢琢磨
#include<graphics.h>
#include<stdio.h>
void main()
{
int gdriver=DETECT,gmode,x=320,y=240,k=1,l=1,size,*buf;
initgraph(&gdriver,&gmode,"bgi");
cleardevice();
setbkcolor(6);
while (!(kbhit()))
{
delay(5);
setcolor (4);
circle (x,y,5);
setfillstyle(1,4);
floodfill(x,y,4);
size=imagesize(x-5,y-5,x+5,y+5);
buf=(int *) malloc(size);
if(!buf)
{
printf("NOT enough memory!\n");
exit(0);
}
getimage(x-5,y-5,x+5,y+5,buf);
putimage(x-5,y-5,buf,1);
x+=k,y+=l;
putimage(x-5,y-5,buf,1);
free(buf);
if (y-5==0)
l=1;
else if (x==635)
k=-1;
else if (y==475)
l=-1;
else if (x-5==0)
k=1;
}
getch();
closegraph();
}
④ 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程序編寫:一個球從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);
}
(5)小球下落代碼c語言擴展閱讀:
C的運算符包含的范圍很廣泛,共有種34個運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C的運算類型極其豐富表達式類型多樣化,靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
C的數據類型有:整型、實型、字元型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種復雜的數據類型的運算。並引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能, 支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。
⑥ 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(dev c++)
這道題不能和把100定義為int的,因為int的數除以2,只會按整除結果計算的。
#include<stdio.h>
#include<stdlib.h>
#defineLAST_CNT19
intmain(void)
{
floath=100;
inti=0;
floatf10thH=0;
floatsumDist=0;
for(i=1;i<LAST_CNT;i++)
{
h/=2.0;
sumDist+=2*h;
if(i==10)
{
f10thH=h;
}
}
sumDist+=100;
printf("第%d次落地時共經過%f米,第10次反彈%f米 ",LAST_CNT,sumDist,f10thH);
system("pause");
}
⑧ 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語言程序設計小球的自由落體運動
#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;