C语言程序中紧急情况,《C语言及程序设计》实践参考——紧急救援

《C语言及程序设计》实践参考——紧急救援

《C语言及程序设计》实践参考——紧急救援

返回:贺老师课程教学链接

【项目7-紧急救援】

洪水突降,人们被困在各个屋顶上。如图所示:

cf35a0d2d26be4f4e312e5d332f89636.png

救生船每次将从大本营出发,救了人之后将人送回大本营。已知救生船速度50米/分钟,逐个屋顶救人,每人上船1分钟,下船0.5分钟。以救援大本营为原点,输入每个屋顶的位置坐标和屋顶上的人数,求出所有人都到达大本营并登陆所用的时间。

要求使用结构体表示屋顶的坐标和人数。

[参考解答]

参考解答1:

#include

#include

#define NUM 50 //设屋顶数不超过50

#define SPEED 50.0

#define UP 1.0

#define DOWN 0.5

struct Roof

{

float x, y; //屋顶的位置

int p; //屋顶上的人数

};

int main( )

{

struct Roof roofs[NUM];

float totalTime = 0;

int i,n;

float x,y;

int p;

scanf("%d", &n); //先输入屋顶数

//用循环输入每个屋顶位置及人数

for(i=0; i

{

scanf("%f%f%d", &x, &y, &p);

roofs[i].x = x;

roofs[i].y = y;

roofs[i].p = p;

}

//计算救援时间

for(i=0; i

{

x = roofs[i].x;

y = roofs[i].y;

p = roofs[i].p;

//累加双程航行时间

totalTime += 2 *sqrt(x*x + y*y)/SPEED;

//累加上下船时间

totalTime += p * (UP + DOWN);

}

//输出救援时间

printf("总时间: %.2f\n", totalTime);

return 0;

}

参考解答2:结构体数组稍有不同

#include

#include

#define NUM 50

#define SPEED 50.0

#define UP 1.0

#define DOWN 0.5

struct Point

{

float x, y;

};

struct Roof

{

struct Point loc; //屋顶的位置

int p; //屋顶上的人数

};

int main( )

{

struct Roof roofs[NUM];

float totalTime = 0;

int i, n;

float x,y;

int p;

scanf("%d", &n); //先输入屋顶数

//用循环输入每个屋顶位置及人数

for(i=0; i

{

scanf("%f%f%d", &x, &y, &p);

roofs[i].loc.x = x;

roofs[i].loc.y = y;

roofs[i].p = p;

}

//计算救援时间

for(i=0; i

{

x = roofs[i].loc.x;

y = roofs[i].loc.y;

p = roofs[i].p;

//累加双程航行时间

totalTime += 2 *sqrt(x*x + y*y)/SPEED;

//累加上下船时间

totalTime += p * (UP + DOWN);

}

//输出救援时间

printf("总时间: %.2f\n", totalTime);

return 0;

}

《C语言及程序设计》实践参考——紧急救援相关教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值