C++ 成人,儿童,团体票购票问题编程

 时间:2024-10-15 16:30:28

1、分析:那么现在成人有a人,小孩子有b人。当a+b<20时,就不存在团体票,只能按个人购买,不存在省钱。购票费=a*80+b*50;当成人人数a>20时,所有的大人组成一个团。这是最省钱。购票费=a*60+b*50当成人人数+小孩人数大于20,但成人人数小于20时,即a+b>20,a<20这里要提醒一下,大人购买团体票能省20元,而小孩购买团体票要多付10元,吃亏了。所以小孩子尽量要购买儿童票。所以根据这个原则a+b多余20的部分我们都设定为购买儿童票。因此可以建立一个不等式来确定20人时,怎么购票。a*80+(20-a)*50<20*60 即 1000+30*a<1200;这个不等式可以确定大人人数小于多少时,单独购票比买团体票便宜。解得:a<6.67 因为人不能为小数,所以区a=6。也就是说当人数小于等于6时,成人与小孩单独购票最省钱。当总人数为40人,成人6人,小孩34人。购票费=6*80+34*50=2180,如果6个大人与14个小孩构成团体则:购票费=20*60+20*50=2200元。总人数还是 40人,成人7人,小孩33人,这是组团就便宜了。购票费=20*60+20*50=2200,而单独购买则:购票费=7*80+33*50=2210. 如果40人全都买团体票:购票费=40*60=2400因次这种类型的题目就是分析正好为组团人数 时,大人与小孩人数的分配情况。根据以上分析编写如下程序:

2、#include<iostream>using namespace std;int main(){ int a,b,s1; //成人人数a,儿童人数b,购票费用s1 cin>>a>>b; if(a+b<20) s1=a*80+b*50; else if(a>=20) s1=a*60+b*50; else if(a>=7) //这里的7是又不等式:a*80+(20-a)*50<20*60输出来的 s1=20*60+(a+b-20)*50; else s1=a*80+b*50; cout<<s1<<endl; return 0;}

  • Dev-C++如何下载安装
  • c语言1~n累加求和
  • C语言中的strcmp函数怎样使用?
  • codeblocks下面的运行框不见了怎么办
  • C#如何打开模式对话框窗体
  • 热门搜索
    爱的教育手抄报 环保节约手抄报 环境保护手抄报资料 我爱我校手抄报 海量阅读手抄报 我爱你中国手抄报 节粮节水节电手抄报 反对邪教手抄报图片 人鸦手抄报 圣诞节英语手抄报内容