网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月07日漏签0天
c吧 关注:133,361贴子:394,011
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 0回复贴,共1页
<<返回c吧
>0< 加载中...

【醒目】谁来挑战一下问题!!!

  • 只看楼主
  • 收藏

  • 回复
  • 沉默D术士
  • 二年级
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
题目: 在33米的水平直钢管中 第3米 第6米 第19米 第22米 第26米 各有一个钢球(直径同钢管内径,能滑动 0摩擦 )刚开始钢球都静止,
突然5个钢球都都以1米每秒的速度开始运动 ,碰撞后速度不变 方向改变 钢球起始速度方向不定,求所有钢球都离开钢管的最大时间
以及最初5钢球的起始速度方向 (0能量 速度损失 所有直径大小可以忽略不计)
我的代码:
#include <stdio.h>;
#include <math.h>
float currenpoint(double s1,int v1,double s2,int v2,double s3,int v3,double s4,int v4,double s5,int v5)
{
int i=0;
double t=0;
for(i=0;i<10000;i++)
{
s1=s1+0.01*i*v1;
s2=s2+0.01*i*v2;
s3=s3+0.01*i*v3;
s4=s4+0.01*i*v4;
s5=s5+0.01*i*v5;
t=0.01*i;
if((s1>=33|s1<=0)&&(s2>=33|s2<=0)&&(s3>=33|s3<=0)&&(s4>=33|s4<=0)&&(s5>=33|s5<=0))
break;
if (fabs(s1-s2)<0.01)
currenpoint(s1,-1*v1,s2,-1*v2,s3,v3,s4,v4,s5,v5);
if (fabs(s2-s3)<0.01)
currenpoint(s1,v1,s2,-1*v2,s3,-1*v3,s4,v4,s5,v5);
if (fabs(s3-s4)<0.01)
currenpoint(s1,v1,s2,v2,s3,-1*v3,s4,-1*v4,s5,v5);
if (fabs(s4-s5)<0.01)
currenpoint(s1,v1,s2,v2,s3,v3,s4,-1*v4,s5,-1*v5);
}
return t;
}
double main()
{
int i=0,j=0,v1=0,v2=0,v3=0,v4=0,v5=0;
double t[32]={0},max=0;
double s1=3.0,s2=6.0,s3=19.0,s4=22.0,s5=26.0;
for(i=0;i<31;i++)
{
v1=(i/1)%2;
v2=(i/2)%2;
v3=(i/4)%2;
v4=(i/8)%2;
v5=(i/16)%2;
if (v1==0)
v1=-1;
if (v2==0)
v2=-1;
if (v3==0)
v3=-1;
if (v4==0)
v4=-1;
if (v5==0)
v5=-1;
*(t+i)=currenpoint(s1,v1,s2,v2,s3,v3,s4,v4,s5,v5);
}
for(j=0;j<31;j++)
printf("%lf\n",t[j]);
}
运行结果如下:

代码问题:1,运行的结果跟实际明显不同
2,运算逻辑有什么问题吗?
3,求修改或者从新设计代码


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 0回复贴,共1页
<<返回c吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示