- 商店里有一些商品,它们的售价和库存数量不同。(1)如果给你一笔钱 m,最多可以买到多少件商品;100 元最多能买 16 件
#include<iostream> #include<cmath> #include<stdlib.h> #include<iomanip> using namespace std; int main() { cout<<"输入商品编号、商品价格、商品库存"<<endl; struct shangping { int ID; int Price; int number; }sh[11];//定义结构体 for (int i=1;i<=6;i++) { cin>>sh[i].ID>>sh[i].Price>>sh[i].number;//输入结构体 } shangping t; for(int i=1;i<=5;i++) { for(int j=i+1;j<=6;j++) { if(sh[i].Price>sh[j].Price) { t=sh[i]; sh[i]=sh[j]; sh[j]=t; } } }//排序 int a,b,a_1,b_1,a_2,a_3,b_2,b_3,a_4,b_4,a_5,b_5,sum; cout<<"输入价格:"; cin>>a; b=a/sh[1].Price; if(b<=sh[1].number) { sum=b; cout<<a<<"元最多能买"<<sum<<"件" ; }//判断是否可以全部购买第一种商品 else { a_1=a-sh[1].Price*sh[1].number; b_1=a_1/sh[2].Price; if(b_1<=sh[2].number) { sum=b_1+sh[1].number; cout<<a<<"元最多能买"<<sum<<"件" ; }//判断剩余的钱是否可以购买第二种商品 else { a_2=a_1-sh[2].Price*sh[2].number; b_2=a_2/sh[3].Price; if(b_2<=sh[3].number) { sum=b_2+sh[1].number+sh[2].number; cout<<a<<"元最多能买"<<sum<<"件" ; } else { a_3=a_2-sh[3].Price*sh[3].number; b_3=a_3/sh[4].Price; if(b_3<=sh[4].number) { sum=b_3+sh[1].number+sh[2].number+sh[3].number; cout<<a<<"元最多能买"<<sum<<"件" ; } else { a_4=a_3-sh[4].Price*sh[4].number; b_4=a_4/sh[5].Price; if(b_4<=sh[5].number) { sum=b_4+sh[1].number+sh[2].number+sh[3].number+sh[4].number; cout<<a<<"元最多能买"<<sum<<"件" ; } else { a_5=a_4-sh[5].Price*sh[5].number; b_5=a_5/sh[6].Price; if(b_5<=sh[6].number) { sum=b_5+sh[1].number+sh[2].number+sh[3].number+sh[4].number+sh[5].number; cout<<a<<"元最多能买"<<sum<<"件" ; } else cout<<a<<"元最多能买"<<sum+sh[6].number<<"件" ; }//可以购买全部商品 } } } } return 0; }
(2)如果从中挑选 n 件商品,商品总价值最大有多少元。10 件商品最多价值 182 元
#include<iostream> #include<cmath> #include<stdlib.h> #include<iomanip> using namespace std; int main() { cout<<"输入商品编号、商品价格、商品库存"<<endl; struct shangping { int ID; int Price; int number; }sh[11]; for (int i=1;i<=6;i++) { cin>>sh[i].ID>>sh[i].Price>>sh[i].number; }//定义并输入结构体 shangping t; for(int i=1;i<=5;i++) { for(int j=i+1;j<=6;j++) { if(sh[i].Price<sh[j].Price) { t=sh[i]; sh[i]=sh[j]; sh[j]=t; } } }//排序 int n,d,sum=0; cout<<"输入件数:"; cin>>n; d=n; for(int c=1;c<=6;c++)//历遍整个结构体 { if(n>0) { if(n<sh[c].number)//判断输入n与每种商品的个数 { sum=sum+sh[c].Price*n; } else sum=sum+sh[c].number*sh[c].Price;//价格相加 n=n-sh[c].number; } } cout<<d; cout<<"件商品最高价值"<<sum<<"元"; return 0;
C++的结构体在销售问题中的应用
最新推荐文章于 2024-07-11 22:03:57 发布