Y_kia 2015-12-03 12:19 采纳率: 100%
浏览 1465
已采纳

求大神教编程,用c语言,没什么基础

有四个人夜间过一座独木桥,他们只有一只手电筒.而这座独木桥一次最多允许两人同时通过,而过桥的时候必须持有手电筒,所以就得有人把手电筒带来带去.两人同行时以较慢者的速度为准,四人过桥时间分别是1分、2分、5分和10分.他们四人过完桥最少需要_____分钟.

  • 写回答

2条回答 默认 最新

  • 程序员啊粥 2015-12-03 13:08
    关注

    #include
    struct person {
    char name[10];
    int ptime;
    };
    // 按过桥时间从小到大排序
    void Sort(struct person a[],int n) {
    int i,j,k;
    struct person aone;
    for(i = 0; i < n - 1; ++i) {
    k = i;
    for(j = i + 1; j < n; ++j) {
    if(a[k].ptime > a[j].ptime)
    k = j;
    }
    if(i != k) {
    aone = a[k];
    a[k] = a[i];
    a[i] = aone;
    }
    }
    }
    int main() {
    struct person a[] = {{"John",1},{"Park",2},{"Mike",5},{"Jodan",10}};
    int n = sizeof(a) / sizeof(a[0]);
    int i,ttime = 0;
    Sort(a,n);
    for(i = 1; i < n; ++i)
    ttime += 2 * a[0].ptime + a[i].ptime;
    ttime -= a[0].ptime;
    printf( "共需时间%d: " ,ttime);
    printf( "分!\n");
    return 0;
    }

    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥100 求数学坐标画圆以及直线的算法
  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决