c分支和循环案例分析.ppt
《c分支和循环案例分析.ppt》由会员分享,可在线阅读,更多相关《c分支和循环案例分析.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高级语言程序设计C流程控制上海理工大学 计算机基础教研室2010年11月分支案例分析案例分析分支程序设计简单分支简单分支双分支双分支多分支多分支简单分支程序设计求绝对值求绝对值显示三个数中的奇数显示三个数中的奇数三数中取极值三数中取极值main()int x,y;printf(“请输入一个数请输入一个数n”);scanf(“%d”,&x);y=x;if(xmax)max=b;if(cmax);max=c;printf(The max number is%dn,max);双分支程序设计两数的比较两数的比较判断一数能否被另一数整除判断一数能否被另一数整除两数的比较两数的比较main()int x,
2、y;printf(please input x,y.n);scanf(%d%d,&x,&y);if(xy)printf(The max number is%dn,x);else printf(The max number is%dn,y);判断一数能否判断一数能否被另一数整除被另一数整除main()int x,y;printf(please input x,y.n);scanf(%d%d,&x,&y);if(x%y)printf(“No);else printf(“Yes”);多分支程序设计分段函数求解分段函数求解一元二次方程求解一元二次方程求解显示学生成绩与等级显示学生成绩与等级分段函数求解
3、分段函数求解main()int y;float x;printf(“input x:n”);scanf(“%f”,&x);switch(x=0 x2=sqrt(d)/2a输出x1x2x2=sqrt(-d)/2a输出x1x2i结 束YesNoYesNo#include“math.h”main()float a,b,c,a2,x1,x2;printf(“输入系数输入系数a,b,cn”);scanf(“%f%f%f”,&a,&b,&c);if(a=0)printf(“root=%fn”,x1=-c/b);else d=b*b-4*a*c;a2=2*a;x1=-b/a2;if(d=0)x2=sqrt(
4、d)/a2;printf(“root1=%f,root2=%fn”,x1+x2,x1-x2);else x2=sqrt(-d)/a2;printf(“root1=%f+%fin”,x1,x2);printf(“root1=%f-%fin”,x1,x2 显示学生成绩与等级显示学生成绩与等级main()float score;int num,i=0;printf(please input the total students.n);scanf(%d,&num);printf(please input each students score.n);while(i=100)|(score0)print
5、f(error!repeat inputn);continue;switch(int)(score/10)case 10:case 9:printf(“%d is grate A”,score);break;case 8:printf(“%d is grate B”,score);break;case 7:printf(“%d is grate C”,score);break;case 6:printf(“%d is grate D”,score);break;case 5:case 4:case 3:case 2:case 1:case 0:printf(“%d is fail”,score
6、);i=i+1;照猫画虎1.输输入入三三角角形形的的三三条条边边,若若构构成成直直角角三三角角形形,则则输出相应信息。输出相应信息。2.一一个个5位位数数,判判断断它它是是不不是是回回文文树树.即即12321是是回文数回文数,个位与万位相同个位与万位相同,十位与千位相同。十位与千位相同。3.请请输输入入星星期期几几的的第第一一个个字字母母来来判判断断是是星星期期几几,如如果果第第一一个个字字母母一一样样,则则继继续续判判断断第第二二个个字字母。母。课外作业(思考)课外作业(思考)1.和积计算和积计算 求和求和:s=1*2+2*3+99*1003.求特定数判断一数能否被另一数整除求特定数判断一数
7、能否被另一数整除求从键盘任意输入的两个整数的最大公约数与最小公倍数求从键盘任意输入的两个整数的最大公约数与最小公倍数水水仙仙花花数数:三三位位数数的的各各位位数数字字的的立立方方和和等等于于该该三三位位数数即即为为水水仙花数,求出所有水仙花数。仙花数,求出所有水仙花数。2.素数探求素数探求 打印输出打印输出100200之间的素数。之间的素数。质质因因数数分分解解:输输入入自自然然数数n,将将其其表表示示为为质质因因数数从从小小到到大大顺序连乘形式。如:顺序连乘形式。如:90=2*3*3*54.不定方程求解一元二次方程求解不定方程求解一元二次方程求解中国古代数学家张丘建在他的算经中提出了著名的“
8、百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?5.利用迭代公式求值利用迭代公式求值用迭代法求某个数用迭代法求某个数a的平方根。的平方根。已知求平方根的迭代公式为:已知求平方根的迭代公式为:循环案例分析1.和积计算求和求和:s=1*2+2*3+99*100main()long I,s;s=0;for(i=1;i=99;i+)s+=i*(i+1);printf(1*2+2*3+99*100=%ldn,s);问题变通问题变通1:求求s=1*2+2*3+n*(n+1)2.求和求和:s=1*3+3*5+(2n-1)*(2n+1)累加和:累加和:1.和积
9、计算求求n!=1*2*3*nmain()int I,n;long t;scanf(“%d”,&n);t=1;for(i=1;i=n;i+)t=t*i;printf(“%d!=%ldn,n,t);问题变通问题变通1:求求s=1+1/1!+1/2!+1/3!+1/n!问题引申问题引申:求阶乘和数求阶乘和数:一个正整数如果等于组成它的各位数字的一个正整数如果等于组成它的各位数字的阶乘之和阶乘之和,该正整数称为阶乘和数该正整数称为阶乘和数.阶乘计算:阶乘计算:2.素数探求打印输出打印输出100200之间的素数。之间的素数。main()int i,j;for(i=100;i=200;i+)for(j=2
10、;ji-1)printf(%5d,i);探求区间素数:探求区间素数:思考:如何改进可提高程序的判别效率?思考:如何改进可提高程序的判别效率?2.素数探求输入自然数输入自然数n,将其表示为质因数从小到大顺序连乘形式。,将其表示为质因数从小到大顺序连乘形式。如:如:90=2*3*3*5#includemain()long n,k,t;scanf(“%ld”,&n);t=n;for(k=2;k1)printf(“%ld*”,k);continue;if(t=1)printf(“%ldn”,k);if(t1&tn)printf(“%ldn”,t);if(t=n)printf(“%ldn是素数是素数”,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分支 循环 案例 分析
限制150内