`
Touch_2011
  • 浏览: 290537 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

购物卷1000元买多种东西,刚好用完的解决方案(C语言实现)

阅读更多

 

#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
0
3
分享到:
评论

相关推荐

    C语言实现网上购物系统

    C语言实现网上购物平台,主要实现平台登录,添加商品信息,删除购物商品,商品列表,商品排序,查询工资,修改工资,录入数据,退出系统。

    C语言程序设计实现商店购物系统

    ### C语言程序设计实现商店购物系统 #### 设计的内容及要求 ##### 1.1 设计内容 本项目旨在利用C语言开发一个“商店购物管理系统”。该系统将为用户提供一个便捷的商品查询与购物平台。主要功能包括: 1. **购物...

    C语言实现商品购买,可运行可修改

    一个简单的购物程序,可实现简单购买

    C语言实现的Apriori算法

    例如,在超市购物数据中,如果发现“购买尿布”的顾客往往也会“购买啤酒”,那么“尿布”和“啤酒”就是一个强关联规则。Apriori算法通过迭代的方式生成候选集并进行频繁项集的检测,从而找出这些规则。 首先,...

    C语言程序设计实现商店购物管理

    (2) 学习并使用流程图等工具,并在撰写报告中使用; (3) 程序的各项功能在程序运行时,以菜单形式选择并执行; (4) 要求用户输入数据时,要给出清晰、明确的提示,包括:输入数据的内容、格式及其结束方式等 (5) 所有...

    数据结构课程设计-C语言编写的超市购物系统.zip

    在这个“超市购物系统”项目中,C语言被选为开发语言,这表明我们将探讨C语言编程和数据结构的应用。 1. **用户注册与登录**:在系统中,用户需要注册并创建账户,这涉及到了数据存储。用户信息可能包含用户名、...

    C语言实现的Apriori关联规则算法

    尽管提供的代码片段使用的是C#而非C语言,但仍然可以帮助理解Apriori算法的具体实现细节。下面是对代码片段的部分解读: - 定义了`trans`结构体,用于存储事务编号(tID)及其包含的项目列表(items)。 - 定义了`...

    C语言实现网店购物管理系统(内含源码和PPT).zip

    标题中的"C语言实现网店购物管理系统"表明这是一个使用C语言编程实现的软件系统,主要用于模拟网店的购物流程。这样的系统通常会包含用户管理、商品管理、订单处理、库存控制等核心功能模块。C语言作为底层的编程...

    C语言购物系统

    ### C语言购物系统知识点解析 #### 一、系统概述与适用人群 **标题与描述**:C语言购物系统,这是一个专门为初学者设计的C语言项目,旨在帮助学习者理解和掌握C语言的基本概念和编程技巧。通过构建一个购物系统,...

    C语言购物小票代码实现

    完成购物小票要求:添加功能 全显功能 购买功能 完成购物小票要求:添加功能 全显功能 购买功能 完成购物小票要求:添加功能 全显功能 购买功能 完成购物小票要求:添加功能 全显功能 购买功能 完成购物小票要求:...

    c语言课程设计之网络购物系统

    这些是关于C语言课程设计之网络购物系统的代码

    C语言超市管理系统.zip

    编写完C语言代码后,使用编译器(如GCC)编译成可执行文件。调试过程中,学会使用调试工具(如GDB)定位和解决问题,理解程序运行流程。 通过这个C语言超市管理系统,开发者可以提升C语言编程技能,理解实际项目中...

    超市收银系统 C语言编写

    本篇文章将深入探讨一个用C语言编写的超市收银系统,该系统充分体现了C语言在实际应用中的强大功能,实现了超市收银系统的各项基本功能。 一、系统概述 超市收银系统是商业运营中不可或缺的一部分,它主要负责商品...

    个人理财系统 c语言

    《C语言实现的个人理财系统详解》 在数字化时代,个人财务管理变得日益重要,而一款合适的理财工具能够帮助我们更好地规划收支,实现财富增值。本文将深入探讨一个使用C语言编写的个人理财系统,该系统集成了密码...

    智慧商圈解决方案.pptx

    智慧商圈解决方案就是为了帮助零售业在移动互联网背景下实现突围和变革的解决方案。 智慧商圈解决方案的核心是通过移动互联网和 O2O 模式来实现零售业的变革。 O2O 模式是指在线下和线上的融合,通过在线平台和线下...

    c语言struts+hibernate实现的网络购物系统

    c语言struts+hibernate实现的网络购物系统提取方式是百度网盘分享地址

    fpmax*源代码 c语言实现

    《fpmax*源代码解析——C语言实现数据挖掘中的关联规则》 在信息技术领域,数据挖掘是一项关键的技术,它能够从海量数据中发现有价值的信息。其中,关联规则挖掘是数据挖掘的一个重要分支,用于发现数据集中的有趣...

    西科大c语言考试复习提纲

    C语言是一种广泛应用于计算机编程的基础性编程语言,尤其在系统编程、嵌入式开发以及软件工程领域具有重要地位。西科大(西安科技大学)的C语言考试复习提纲旨在帮助学生掌握C语言的核心概念和技能,以应对考试并为...

Global site tag (gtag.js) - Google Analytics