百鸡百钱——程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

深圳大学实验报告课程名称:高级程序语言设计

实验项目名称:“百钱买鸡问题”学院:信息工程学院

专业:

指导教师:

报告人:学号:班级:

实验时间:

实验报告提交时间:

教务处制

实验目的与要求:

“百钱买鸡问题”:

设1个公鸡值5钱,1个母鸡值3钱,3个小鸡值1钱,现用100钱来买鸡,问有多少种方法买鸡?

(每种方法需包含公鸡、母鸡、小鸡的个数)。

编写一个程序,输出每一种方法的公鸡、母鸡、小鸡个数,并且统计出有多少种方法。要求:流程图、代码、结果、分析。

程序代码:

#include

void main ()

{

int i,j,k,n=0;

for(i=0;i<=20;i++)

for(j=0;j<=33;j++)

for(k=0;k<=300;k+=3)

if(k==300-15*i-9*j)

{

printf("i=%d,j=%d,k=%d\n",i,j,k);

n++;

}

printf("总方法数:%d\n",n);

}

流程图:

数据处理分析:

设一百只鸡中公鸡、母鸡、小鸡分别为 i,j,k 问题化为三元一次方程组:

这里 i,j,k 为正整数,且k是3的倍数;由于鸡和钱的总数都是100,可以确定i,j,k 的取值范围:

1)i的取值范围为0~20

2)j的取值范围为0~33

3)k的取值范围为0~300,步长为3

对于这个问题我们可以用列举的方法得出i,j,k的所有可能组合,最后得到问题的解。(int i,j,k ,n=0; /*公鸡、母鸡、小鸡的只数、方法数*/)

初始算法

1.初始化为1;

2.计算i循环,找到公鸡的只数;

3.计算j循环,找到母鸡的只数;

4.计算k循环,找到小鸡的只数;

5.结束,程序输出结果后退出。

算法细化

算法的步骤1实际上是分散在程序之中的,由于用的是for循环,很方便的初始条件放到了表达式之中了。步骤2和3是按照步长1去寻找公鸡和母鸡的个数。

实验结果:

指导教师批阅意见:

成绩评定:

指导教师签字:

年月日备注:

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

相关文档
最新文档