《10_选择与循环程序举例》由会员分享,可在线阅读,更多相关《10_选择与循环程序举例(15页珍藏版)》请在金锄头文库上搜索。
1、付付 宇宇中国民航大学计算机学院中国民航大学计算机学院基础课部基础课部2010-4-212第第10部分部分 选择与循环程序举例选择与循环程序举例Part10_选择与循环程序举例选择与循环程序举例 /付付 宇宇 求求 ax2 bx c =方程的解。(方程的解。(实习指导实习指导第三章第三章 【实习实习 7】,P15)求一元二次方程的根求一元二次方程的根2010-4-213Part10_选择与循环程序举例选择与循环程序举例 /付付 宇宇2010-4-214Part10_选择与循环程序举例选择与循环程序举例 /付付 宇宇求一元二次方程的根求一元二次方程的根#include #include void
2、 main ( ) float a,b,c,disc,x1,x2,realpart,imagpart; scanf(“%f,%f,%f”, printf(“the equation ”); if(fabs(a)1e-6) x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a); printf(has distinct real roots:%8.4f and %8.4fn,x1,x2);else ealpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf(has complex rootsn); print
3、f(%8.4f+%8.4fin,realpart,imagpart); printf(%8.4f-%8.4fin,realpart,imagpart); 问题描述问题描述 利用公式利用公式 /41-1/3+1/5-1/7+ ,直到最后一项的绝对值小,直到最后一项的绝对值小 于于10-8为止。为止。 问题分析问题分析1. 可用循环解决多项求和问题,但项数未知;可用循环解决多项求和问题,但项数未知;2. 循环结束条件是最后一项的绝对值小于循环结束条件是最后一项的绝对值小于10-8 ;3. 每个计算项的特点:符号正负相间,分母为奇数;每个计算项的特点:符号正负相间,分母为奇数;4. 最后一项的绝对值
4、小于最后一项的绝对值小于10-8,有效位数超过,有效位数超过7位,应使用位,应使用 double型。型。计算计算 的近似值的近似值2010-4-215Part10_选择与循环程序举例选择与循环程序举例 /付付 宇宇2010-4-216Part10_选择与循环程序举例选择与循环程序举例 /付付 宇宇计算计算 的近似值的近似值#include #include void main() int s; double n,t,pi;t=1.0; pi=0; n=1.0; s=1; while(fabs(t)1e-8) pi=pi+t;n=n+2;s=-s;t=s/n;pi=pi*4; printf(pi
5、=%.8fn,pi); P125 例例6.7 换行的技巧换行的技巧: if ( i % 2 = 0) printf (“n”); for循环内:循环内: f1 = f1 + f2; f2 = f2 + f1 要给两个初值:要给两个初值: f1 = 1; f2 = 1;使用两个变量的使用两个变量的Fibonacci数列数列2010-4-217Part10_选择与循环程序举例选择与循环程序举例 /付付 宇宇 p128 例例6.10将明文加密将明文加密2010-4-218Part10_选择与循环程序举例选择与循环程序举例 /付付 宇宇#include void main() char c; whil
6、e(c=getchar()!=n) if(c=a printf(%cn,c); 相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。决定让宰相自己选择何种赏赐。 这位聪明的宰相指着这位聪明的宰相指着88共共64格的象棋盘说:陛下,请您赏给我一些麦子格的象棋盘说:陛下,请您赏给我一些麦子吧,就在棋盘的第一个格子中放吧,就在棋盘的第一个格子中放1粒,第粒,第2格中放格中放2粒,第粒,第3格放格放4粒,以后粒,以后每一格都比前一格增加一倍,依此放完棋盘上的每一格都比前一格增加一倍,依此放完棋盘
7、上的64个格子,我就感恩不尽了。个格子,我就感恩不尽了。 舍罕王让人扛来一袋麦子,他要兑现他的许诺。舍罕王让人扛来一袋麦子,他要兑现他的许诺。 国王能兑现他的许诺吗?试编程计算舍罕王共要多少麦子赏赐他的宰相,这国王能兑现他的许诺吗?试编程计算舍罕王共要多少麦子赏赐他的宰相,这些麦子合多少立方米?些麦子合多少立方米? (已知(已知1立方米麦子约立方米麦子约1.42e8粒)粒) 总粒数为:总粒数为:sum=1+2+22+23+263国王的许诺国王的许诺2010-4-219Part10_选择与循环程序举例选择与循环程序举例 /付付 宇宇方法一方法一2010-4-2110Part10_选择与循环程序举
8、例选择与循环程序举例 /付付 宇宇#define CONST1.42e8 #include #include main() intn; double term, sum = 0;/*累加求和变量赋初值累加求和变量赋初值*/for (n=1; nmain() intn; double term = 1, sum = 1; /*累乘求积累加求和变量赋初值累乘求积累加求和变量赋初值*/for (n=2; n main() intm, n;for (m=1; m main() int x,y,z;printf(“Man t Women t Childernn“); for (x=0; x main() int x,y,z;printf(“Man t Women t Childernn“); for (x=0; x=16; x+) for (y=0; y=25; y+) z = 30 x - y; if (3*x+2*y+z = 50) printf(“%3d t %5d t %8dn“,x,y,z);