c語言小球M
① ●●●●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語言中如何實現小球有初速度在平面框架反彈
在 C 語言中實現小球有初速度在平面框架反彈可以使用以下方法:
定義一個結構體或類來存儲小球的位置,速度和其他信息。
使用一個循環來模擬小球的運動,在每次循環中更新小球的位置。
檢查小球是否碰到了框架的邊界,如果是,就改變小球的速度。
在每次循環中使用函數來繪制告磨源小球的位置。
使用一個函數來更新小球的速度,當小球碰到邊界時將速度相應地反彈
最後游肆使用一個函數來更新小球的位置。
這是一個簡單的概括,如果需要具體實現細節可以告訴我您需要的功能以及環境條件襪態,我會給您更加詳細的回答
③ C語言(移動小球問題) 我的代碼為什麼不能夠輸出呢編譯並運行的時候並沒有輸出
有明顯的兩個問題:
k<i<l這種寫法是不能達到目的的,似乎應該是k<i && i<l才對。其他幾個類似的都得這樣改。
邏輯有錯,比如在前面輸入正確的情況下若輸入1 1 4,那麼k就是1,可是if分支里找不到k==1的出路,只有k>1和k<1的情況。
其餘細節未看。提供一個作參考——
#include"stdio.h"
intmain(intargc,char*argv[]){
intt,n,m,j,k,l,i,x,y,q,a[1000]={0};//刪除數組c
scanf("%d",&t);
for(t;t>0;t--){
scanf("%d%d",&n,&m);//n個數,m條指令
for(i=0;i<n;a[i]=1+i++);
while(m--){
if(scanf("%d%d%d",&j,&k,&l)!=3||j<1||j>2||k<1||k>n||l<1||l>n||k==l){//if判斷保證輸入正確且無非法數據
printf("Inputerror,exit... ");
return0;
}
for(i=0;i<n;i++){//求出要移動目標和目的目標的下標而不是值
if(k==a[i])
x=i;
if(l==a[i])
y=i;
}
if(q=a[x],j==1){//移到左邊的情況
if(x<y){//目標在前目的在後
for(i=x+1;i<y;a[i-1]=a[i++]);
a[y-1]=q;
}
elseif(y<x){//目標在後目的在前
for(i=x;i>y;a[i--]=a[i-1]);
a[y]=q;
}
}
elseif(j==2){//移到右邊的情況
if(x<y){//目標在前目的在後
for(i=x+1;i<=y;a[i-1]=a[i++]);
a[y]=q;
}
elseif(y<x){//目標在後目的在前
for(i=x;i>y;a[i--]=a[i-1]);
a[y+1]=q;
}
}
for(i=0;i<n;i++)
printf("%d",a[i]);
printf(" ");
}
}
return0;
}
運行樣例:
④ C語言編寫小球在桌面上做圓周運動
這源代碼應該有個桌面類(Table),球類(Sphere),游戲類等等。我用C++
#pragma once (Table.h)
#endif // _MSC_VER > 1000
#include "Base.h"
#define MESH_D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX1)
class CTable:public CBase
{
public:
DWORD Render();
CTable(LPDIRECT3DDEVICE8 pD3DDevice,LPSTR pFilename);
virtual ~CTable();
LPD3DXMESH GetMeshTablePointer();
private:
void TransformTable();
LPDIRECT3DDEVICE8 m_pD3DDevice;
DWORD m_dwNumMaterials;
LPD3DXMESH m_pMeshTable;
D3DMATERIAL8 *m_pMeshTableMaterials;
LPDIRECT3DTEXTURE8 *m_pMeshTableTextures;
};#endif
#include "Table.h" (Table.cpp)
CTable::CTable(LPDIRECT3DDEVICE8 pD3DDevice,LPSTR pFilename)
{
LPD3DXBUFFER pMaterialsBuffer=NULL;
LPD3DXMESH pMeshTable=NULL;
m_pD3DDevice=pD3DDevice;
if(FAILED(D3DXLoadMeshFromX(pFilename,D3DXMESH_MANAGED,m_pD3DDevice,NULL,
&pMaterialsBuffer,&m_dwNumMaterials,&pMeshTable)))
{
m_pMeshTable=NULL;
m_pMeshTableMaterials=NULL;
m_pMeshTableTextures=NULL;
LogError("<li>Table Mesh '%s' failed to load",pFilename);
return;
}
D3DXMATERIAL *matMaterials=(D3DXMATERIAL*)pMaterialsBuffer->GetBufferPointer();
//Create two arrays. One to hold the materials and one to hold the textures
m_pMeshTableMaterials=new D3DMATERIAL8[m_dwNumMaterials];
m_pMeshTableTextures=new LPDIRECT3DTEXTURE8[m_dwNumMaterials];
for(DWORD i=0;i<m_dwNumMaterials;i++)
{
//Copy the material
m_pMeshTableMaterials[i]=matMaterials[i].MatD3D;
//Set the ambient color for the material(D3DX does not do this)
m_pMeshTableMaterials[i].Ambient=m_pMeshTableMaterials[i].Diffuse;
D3DCOLORVALUE rgbaSpecular=;
m_pMeshTableMaterials[i].Specular=rgbaSpecular;
m_pMeshTableMaterials[i].Power=50.0f
⑤ 用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語言小球M擴展閱讀:
C的運算符包含的范圍很廣泛,共有種34個運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C的運算類型極其豐富表達式類型多樣化,靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
C的數據類型有:整型、實型、字元型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種復雜的數據類型的運算。並引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能, 支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。
⑥ C語言經典100例,小球彈跳的問題的正確答案是多少,謝謝,懸賞!
#include<stdio.h>
void main()
{
float s=100 ,h=100,t=0;int i=2,n;
printf("請輸入彈跳次數:");
scanf("%d",&n);
for(;i<=n;i++)
{
h=h/2;
t=t+2*h;
}
s=s+t;
h=h/2;
printf("%f \n %f",s,h);
}
運行結果為299.609375;0.097656;
⑦ 大一C語言作業,一球從 M 米高度自由落下,每次落地後反跳回原高度的一半;再落下,求它在第 N 次落地時
#include<stdio.h>
void main()
{
float M,m;
int n,i;
printf("請輸入初始高度,和彈地次數:");
scanf("%f %d",&M,&n);
m = M;
for(i =0;i<n;i++)
m = m/2;
printf("從%f米高掉下來的球,彈地%d次後高度為%f",M,n,m);
}