永发信息网

C程序编程设计

答案:3  悬赏:80  手机版
解决时间 2021-04-30 16:19
  • 提问者网友:自食苦果
  • 2021-04-30 03:41
有正五边形ABCDE的周长为2000米,甲乙两人非别从AC同时出发,沿ABCDA方向匀速绕行。甲的速度为每分钟50米,乙的速度为每分钟46米。编程他们开始行走在同一条路上经过的时间
最佳答案
  • 五星知识达人网友:千杯敬自由
  • 2021-04-30 04:46

#include <stdio.h>


int main(int argc, char* argv[])
{
int t = 0; // 时间
int a = 50, b = 46; // 速度
int sa = 0, sb = 800; // 起点差距


while(1)
{
t++;
sa += a; // 甲走的距离
sb += b; // 乙走的距离

if (sa >= 200)
{
sa -= 200;
sb -= 200;
}


if (sb < 200)
break;
}


printf("经过%d分钟之后,甲乙在同一路上\n", t);


return 0;
}

全部回答
  • 1楼网友:狂恋
  • 2021-04-30 06:12

echo off echo 时间 A 段 B 段 set/a flag=0,dog=0,cat=0,dc=1,cc=3,ti=0,cnt1=0,cnt2=0,sav1=0,sav2=0 :loop set/a dog=50*%cnt1%+%sav1%

if %flag%==0 (set/a cat=800+46*%cnt2% ) else ( set/a cat=46*%cnt2%+%sav2%)

if %dog% geq 400 set/a dc=2 if %dog% geq 800 set/a dc=3 if %dog% geq 1200 set/a dc=4 if %dog% geq 1600 set/a dc=5

if %cat% geq 400 set/a cc=2 if %cat% geq 800 set/a cc=3 if %cat% geq 1200 set/a cc=4 if %cat% geq 1600 set/a cc=5

if %dog% geq 2000 ( set/a dog=%dog%-2000 set/a sav1=%dog%-2000 set/a dc=1 set/a cnt1=0 )

if %cat% geq 2000 ( set/a flag=1 set/a cat=%cat%-2000 set/a sav2=%cat%-2000 set/a cc=1 set/a cnt2=0 )

if %dc%==%cc% ( goto end ) echo %ti% %dog% %dc% %cat% %cc% set/a ti+=1 set/a cnt1+=1 set/a cnt2+=1

goto loop :end echo %ti% %dog% %dc% %cat% %cc% echo 在第%ti%分时A,B在同一段上

=============================

以上保存为BAT格式运行

  • 2楼网友:鱼芗
  • 2021-04-30 05:50

本人是学c++的,这是c++的代码,应该和C差不多

#include <iostream> using namespace std; int main() {int s1,s2,t=1; for(;;t++) { s1=t*50; s2=t*46; if(s1%400==0 && s2-s1<=400) break; } cout <<t<<endl; return 0; }

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯