qq_60331605 2021-09-03 10:51 采纳率: 33.3%
浏览 83
已结题

请解答一下这道c语言基础编程题

大车限乘7人,每小时付14元;小车限乘5人,每小时付11元.现有x人乘车(x在程序运行时输入),请输出租金最少的租车方案.(要求:算出租几辆什么车和租金)
请用c语言写出来

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-09-03 10:54
    关注

    按人头遍历算呗

    int main()
    {
        int n;
        scanf("%d",&n);
        int min = -1,imin= -1;
        for(int i=0;i<=n;i++)
        {
               int pay = (i+6)/7 * 14 + (n-i+4)/5*11;
               if(min == -1 || pay < min)
               {
                      min= pay;
                      imin= i;
              }
        }
        printf("租车方案:%d辆大车,租金%d元,%d辆小车,租金%d元",(imin+6)/7,(imin+6)/7*14,(n-imin+4)/5,(n-imin+4)/5*11);
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • qfl_sdu 2021-09-03 11:23
    关注

    代码如下:

    #include <stdio.h>
    int main()
    {
        int i,j;
        int mins = 0,sum = 0,tmp,k;
        int x;
        int d1;
        int it = 0,jt = 0;
        printf("请输入人数:");
        scanf("%d",&x);
        if(x%7 == 0)
            d1 = x/7;
        else
            d1 = x/7 + 1;
    
        
        for (i = 0;i<=d1;i++ )
        {
            sum = 14 * i;
            tmp = x - i*7;
            if(tmp%5 == 0)
                k = tmp/5;
            else
                k = tmp/5 + 1;
    
            sum += k*11;
            if(mins == 0 || mins > sum)
            {
                mins = sum;
                it = i;
                jt = k;
            }
        }
        printf("大车%d辆,小车%d辆,租金%d\n",it,jt,mins);
        return 0;
    }
    
    
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月11日
  • 已采纳回答 9月3日
  • 创建了问题 9月3日

悬赏问题

  • ¥15 C语言快速排序函数纠错
  • ¥15 C#的一个应用程序书写
  • ¥65 页面调接口时加载卡住不响应
  • ¥35 用C语言解决编程问题
  • ¥15 unity硬件连接与使用
  • ¥15 鱼缸加热棒的数据分析或者实际案例也行
  • ¥15 postgresql11安装完成后,pgadmin无法启动
  • ¥15 (标签-无人机|关键词-Matlab代码)
  • ¥15 执行shell脚本提示参数太多
  • ¥15 困扰好久了,电脑的串口调试助手向单片机发送一个字符(如:字符‘1’到‘8’),单片机点亮对应的灯(如发送字符‘2’则点亮第2个灯)并给电脑回复信息:已点亮第x个灯(其中 x 要替换成对应的数字)