C程序设计算法总结举例.doc

C程序设计算法总结举例.doc

ID:56720952

大小:66.50 KB

页数:25页

时间:2020-07-06

C程序设计算法总结举例.doc_第1页
C程序设计算法总结举例.doc_第2页
C程序设计算法总结举例.doc_第3页
C程序设计算法总结举例.doc_第4页
C程序设计算法总结举例.doc_第5页
资源描述:

《C程序设计算法总结举例.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1.顺序结构举例:(该类题目,通常输入一些要素,通过使用一个或几个数学公式求解,通过赋值表达式得到结果,并输出。包括求三角形面积,相关物体体积,求温度,解二元一次方程组、一元二次方程等)1-1.求温度转换华氏-摄氏温度转换公式:c=5/9(f-32)#includemain(){floatc,f;scanf("%f",&f);c=5.0/9*(f-32);//---------注意如果写成5/9则结果为零,同种类型变量进行运算结果还是该类型。printf("cis:%f",c);}1-2.分解一个三位数的每位

2、数字:a=x/100;b=x/10%10;c=x%10;1-3.判断输出结果:printf("%7.3f,%-7.2f;;;%12.3f,%-12.2f",122.8899,122.8899,122.8899,122.8899);结果为:122.890,122.89_;;;_____122.890,122.89______2.选择结构算法举例:(该类题目往往根据输入进行条件判断,得到相应的值或者执行相应的操作,包括:分段函数求值,求最值,判断大小并交换,求分数等级(switch--case,if-elseif...),

3、判断闰年,判断一个5位数是否回文数如12321就是回文数,判断一个数字是几位数等)2-1.分段函数求值:若x<=10,y=10;若1050,y=5关键:floatx,y;....if(x<=10)y=10;elseif(x>10&&x<=50)y=10-1.0/(10-x);elsey=5;2-2.求a,b,c,d的最大值关键:.....if(a>=b&&a>=c&&a>=d)max=a;...2-3.判断一个数是几位数if(x>=1000)n=4;elseif(x>=100

4、&&x<=999)n=3;elseif(x>=10&&x<=99)n=2;elseif(x>=1&&x<=9)n=1;...2-4.输入一个年份判断是否是闰年。(闰年是满足下面二者之一:1。能被4整除,但不能被100整除;2。能被400整除。)#includemain(){intyear;scanf("%d",&year);if(year%4==0&&year%100!=0

5、

6、year%400==0)printf("yes");elseprintf("no");}另:最牛算法:#include

7、>main(){inta;scanf("%d",&a);printf(a%(a%100?4:400)?"NO":"YES");//建议看看赞叹一下即可,不必学习。。。}3。循环结构算法举例:循环结构应用于重复进行多次相同(相近似)的动作。while,do。。。while,for三种结构两层循环结构的使用称为循环嵌套,注意:外层循环变量变化一次,内层循环变量遍历一圈。包括:求最大公约数最小公倍数、求素数、鸡兔同笼、搬砖、百钱百鸡、1+(1+2)+(1+2+3)+(1+2+3+4)+……+(1+2+3+……m)数列求和,求数列前n

8、项、阶乘、打印图形、水仙花数、完数。3-1.求1000以内内同时被3,5,7整除的所有数关键:。。。。i=1;while(i<=1000){if(i%(3*5*7)==0)printf("%d",i);i=i+1;}3-2.用do...while求n!算法。.....s=1;i=1;//注意循环变量初始化的位置do{s=s*i;i=i+1;}while(i<=n);3-3。求数列前n项。。。f1=1,f2=1,f3=1fn=3fn-1+2fn-2+fn-3-------------------建议此类题以后可以用数组解决。思路

9、类似前面讲过的f1=1,f2=1,fn=fn-1+fn-2...如求该数列前30项则...intf1,f2,f3,i;f1=f2=f3=1;for(i=1;i<=10;i++){printf("%d,%d,%d",f1,f2,f3);f1=3*f3+2*f2+f1;//-----此处的f1实际上是新的f4f2=3*f1+2*f3+f2;//-----此处的f2实际上是新的f5f3=3*f2+2*f1+f3;//-----此处的f3实际上是新的f6}...****求1!+2!+3!+....m!方法一:-----(n+1)!

10、=n!*(n+1)s=0;t=1;for(n=1;n<=m;n++){t=t*n;//1!2!3!s=s+t;}方法二:s=0;for(n=1;n<=m;n++){t=1;for(i=1;i<=n;i++)t=t*i;s=s+t;}3-4,求分段函数值:若n>=201!+2!

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。