进阶项目7-紧急救援

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

/*
文件名:main.c
作者:小风景
完成日期:2016.7.29
问题描述:救生船每次将从大本营出发,救了人之后将人送回大本营。已知救生船速度50米/分钟,逐个屋顶救人,每人上船1分钟,下船0.5分钟。以救援大本营为原点,输入每个屋顶的位置坐标和屋顶上的人数,求出所有人都到达大本营并登陆所用的时间。
程序输出:
*/

#include <stdio.h>
#include <math.h>
#include <malloc.h>

typedef struct
{
    float x;
    float y;
    int people;
}rescuepoint;

double rescuetime(rescuepoint *point);

int main()
{
    int pointnumber = 0;  //需要救援的地点数目
    int i = 0;
    double time = 0;

    printf("请输入需要救援的地点数目:");
    scanf("%d",&pointnumber);
    rescuepoint a[pointnumber] = {0};
    rescuepoint *p = NULL;
    for(i = 0;i < pointnumber;i++)
    {
        printf("请输入第%d个需要救援地点的坐标(x,y)和人数:",i+1);
        fflush(stdin);       //清空上次的输入缓存,防止读入错误数据
        scanf("%f %f %d",&a[i].x,&a[i].y,&a[i].people);
    }

    for(i = 0;i < pointnumber;i++)
    {
        p = &a[i];
        time += rescuetime(p);
    }

    printf("所有人都到达大本营并登陆所用的时间是:%.2f /min",time);
    return 0;
}

double rescuetime(rescuepoint *point)
{
    double time = 0;

    time += 2 * sqrt(point->x*point->x + point->y*point->y) / 50 + 1.5*point->people;

    return time;
}

程序运行结果:




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值