- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《C程序设计》课程设计
学 部: 土木
专 业: 岩土
班 级: 1班
学 号: 1140100114
姓 名:
指导教师: 杜丽芳
2011年 1 月1
文档资料的统一要求:
1、文档中的正文字体用五号宋体。
2、第1章,第2章,第3章设计任务要做2个,第4章要做1个,红色字体的必做。
3、每个问题均要有算法分析,源程序代码,编译示图,运行结果示图。
4、文件名命名中要有学生姓名。
5、没有按要求做的同学则视为本课程设计不合格。
6、每次上机所做的内容用移动磁盘带走。
第1章 分支与循环
1.1 算法与范例
1.递推算法
递推算法是循环程序设计的精华之一,在很多情况下使用递推算法能使程序简练,同时还能节省计算时间。
递推算法的基本思想:利用前一项的值来推算出当前项的值,即利用前一项的值乘以(或加上)某一系数得到当前项的值。使用递推算法的前提是必须有一项的值(一般是最前项)是已知的。使用递推算法的关键是如何根据多项式推出递推公式。
【示范】求(即1!+2!+3!+…+20!)的程序
【编程提示】若多项式第1项为t1,第2项为t2,……, 第20项为t20, 则
第1项t1=1!
第2项t2=2!=1!*2= t1*2
第3项t3=3!=2!*3=t2*3,
……
第20项t20=20!=19!*20=t19*20
可以推出多项式后一项等于前一项乘以某一系数这一规律,故求某一项的递推公式为:ti=ti-1*n (n=1 to 20)。因此知道了多项式第1项1!,就可以利用递推公式求出后面的每一项,每求一项累加求和。
【参考程序】
#include stdio.h
int main()
{double sum=0,t=1;
int n;
for (n=1;n=20;n++)
{
t=t*n; //递推公式
sum=sum+t;
}
printf(1!+2!+...+20!=%22.15e\n,sum);
return 0;
}
2.测试法
在实际应用中,有许多问题是无法用解释方法实现的,这时采用测试法来求解是一种很有效的方法。
测试法的基本思想是假设各种可能的解,让计算机进行测试,如果测试结果满足条件,则假设的解就是所要求的解。如果所要求的解是多值的,则假设的解也应是多值的,在程序设计中,实现多值解的假设往往使用多重循环进行组合。
测试法求解的程序设计有两个要点:
⑴通过循环列出所有可能的解。
⑵对所有列出的可能的解进行条件测试。
【示范】百钱买百鸡问题
已知公鸡每只5元,母鸡每只3元,小鸡1元买3只。要求用100元钱正好买100只鸡,问公鸡、母鸡、小鸡各多少只?
【编程提示】设公鸡、母鸡、小鸡分别为a、b、c只,依据题目能列出下列两个方程:
a+b+c=100
5a+3b+c/3=100
三个未知数,只有两个方程,故是个多解问题。可采用多重循环组合出各种可能的a、b、c的值。通过循环列出公鸡、母鸡和小鸡可能的只数,再对可能的只数进行条件测试。
100元钱,全部买公鸡最多只能买20只,即公鸡的只数a的范围是:a=0 to 20
100元钱,全部买母鸡最多只能买33只,即母鸡的只数b的范围是:b=0 to 33
100元钱,全部买小鸡最多只能买100只,即小鸡的只数c的范围是:c=0 to 100
【参考程序】:
#includestdio.h
int main()
{ int a,b,c;
printf(公鸡 母鸡 小鸡\n);
for(a=0;a=20;a++)
for(b=0;b=33;b++)
for(c=0;c=100;c++)
if((a+b+c==1005*a+3*b+c/3.0==100)
printf( %d %d %d\n,a,b,c);
return 0;
}
1.2 设计任务
1. 王小二自夸刀工不错,有人放一张大地煎饼在砧板上,问他:“煎饼不许离开砧板,切100刀最多能分成多少块?”
2. 若一个口袋中放有12个球,其中有3个红色球,3个白色球和6个黑色球,从中任取8个球,问共有多少不同的颜色搭配,把每种搭配显示出来。
3. 输入年月日,求它是该年的第几天。注:闰年的2月有29天,平年的2月
文档评论(0)