#include<stdio.h>
#define M_MAX 20//最多输入的商品种类
#define MONEY 1000//购物卷金额
int m;//商品种类
int price[M_MAX];//存储各种商品价格
int max_count[M_MAX];//每一种商品最多能买多少个
int count[M_MAX];//记录当前各个商品的个数
int remark[M_MAX*4][M_MAX];//记录符号条件的商品个数
int k=0;//记录总共有多少种解决方案
void max_count_value();//给max_count数组赋值
void calculate(int index);//递归寻找符号条件的方案
void show_answer();//显示所有方案
void main()
{
int i;
printf("please input m:\n");
scanf("%d",&m);
for(i=0;i<m;i++){
scanf("%d",&price[i]);
}
max_count_value();
calculate(0);
show_answer();
}
//给max_count数组赋值
void max_count_value()
{
int i,j;
for(i=0;i<m;i++){
for(j=0;;j++)
if(price[i]*j>MONEY)
break;
max_count[i]=j-1;
}
}
//递归寻找符号条件的方案
void calculate(int index)
{
int i,sum=0;
if(index==m){//递归出口
for(i=0;i<m;i++)
sum+=count[i]*price[i];
if(sum==MONEY){//找到一种方案,记录下当时的各类商品个数
for(i=0;i<m;i++)
remark[k][i]=count[i];
k++;
}
return;
}
for(i=0;i<=max_count[index];i++){
count[index]=i;
calculate(index+1);//递归
}
}
//显示所有方案
void show_answer()
{
int i,j;
printf("%d\n",k);
for(i=0;i<k;i++){
for(j=0;j<m;j++)
printf("%-3d",remark[i][j]);
printf("\n");
}
}
原题:
- 大小: 60.1 KB
- 大小: 141 KB
分享到:
相关推荐
C语言实现网上购物平台,主要实现平台登录,添加商品信息,删除购物商品,商品列表,商品排序,查询工资,修改工资,录入数据,退出系统。
用C语言制作一个商店购物系统,为顾客提供一个查询商品,快捷购物的平台。该系统主要有以下功能: 1)购物包括会员购物和普通顾客购物; 2)系统需存储会员的一般信息:卡号,姓名,密码,卡上余额,已消费总额等信息...
一个简单的购物程序,可实现简单购买
(2) 学习并使用流程图等工具,并在撰写报告中使用; (3) 程序的各项功能在程序运行时,以菜单形式选择并执行; (4) 要求用户输入数据时,要给出清晰、明确的提示,包括:输入数据的内容、格式及其结束方式等 (5) 所有...
C语言购物系统,对于初学C语言的人来说很有用。
完成购物小票要求:添加功能 全显功能 购买功能 完成购物小票要求:添加功能 全显功能 购买功能 完成购物小票要求:添加功能 全显功能 购买功能 完成购物小票要求:添加功能 全显功能 购买功能 完成购物小票要求:...
这些是关于C语言课程设计之网络购物系统的代码
C语言实现的系统(内含源码和实验报告)
西科大c语言考试复习提纲
超市购物系统C语言课程设计.pdf
超市购物系统的功能包括用户注册、用户登录、用户管理、商品管理、订单管理。课设顺利通过,欢迎下载
简单的超市管理系统C语言简单的超市管理系统C语言简单的超市管理系统C语言简单的超市管理系统C语言简单的超市管理系统C语言简单的超市管理系统C语言
c语言购物系统.pdf
c语言购物系统.doc
暑假课程设计,购物网管理程序 系统功能 a) 各种基本数据的录入和保存,包括:各个网站的基本信息录入、各个店铺基本信息录入、各笔交易信息录入。信息录入完毕后,能够保存到数据文件中。 b) 各种基本数据的修改...
购物中心全面信息化解决方案.ppt购物中心全面信息化解决方案.ppt购物中心全面信息化解决方案.ppt购物中心全面信息化解决方案.ppt购物中心全面信息化解决方案.ppt
C语言超市管理系统.zip
麻雀虽小五脏俱全,该课设用最简单的语句基本上完成了要求的所有功能(仅使用DEVC++)。 ———————————————————————————————————————— 答辩等级为B,适合初学C语言的小白练手...