《习题课(三种基本结构)C6.0教案.ppt》由会员分享,可在线阅读,更多相关《习题课(三种基本结构)C6.0教案.ppt(22页珍藏版)》请在三一办公上搜索。
1、习题课,三种基本结构顺序结构、选择结构、循环结构,顺序结构程序设计,P37 3(1),#includevoid main()float d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;coutd*y;,d,x,y,3.2,1,0,0,P37 3(2),#includevoid main()double f,d;long l;int i;i=20/3;f=20/3;l=20/3;d=20/3;cout“i=“i“l=“lendl“f=“f“d=“d;,f,d,l,i,定义双精度型的变量,定义长整型的变量,P5 表1.2,6,6.0,6,6.0,i=6l=6f=6d=6,顺序结
2、构程序设计,P37 3(3),#includevoid main()int c1=1,c2=2,c3;c3=1.0/c2*c1;cout“c3=”c3;,c1,c2,c3,1,2,0,c3=0,P37 3(4),#includevoid main()int a=1,b=2;a=a+b;b=a-b;a=a-b;couta,b;,a,b,2,1,2,1,3,1,2,顺序结构程序设计,P37 3(6),#includevoid main()char c1=a,c2=b,c3=c,c4=101,c5=116;coutc1c2c3n;couttbc4tc5endl;,c1,c2,c3,a,b,c,abc
3、,转义字符P14,c4,A,(65)10,A,(78)10,N,c5,N,t,bA NPress any key to continue,跳到下一个输出区的第一列,顺序结构程序设计,P37 3(7),#includevoid main()char c1=C,c2=+,c3=+;coutI say:c1c2c3;coutttHe says:C+is very interesting!endl;,c1,C,I say:,c2,+,c3,+,双引号,C+,He says:C+is very interesting!,+、-运算符号,i+与+i(i-与-i)的区别,作为语句,如 i+;,作为表达式,如
4、 t=i-;,作为语句,i+;,作为表达式,for(i=0;i10;i+),t=+i;,二者无区别,,+i;,等价于 i=i+1;,t=i+;,for(i=0;i10;+i),二者无区别,等价于i=i+1,表达式的值为i的值,然后执行i=i+1,先执行i=i+1然后表达式的值为i的值,二者有区别,一,二,等价于:t=i;i=i+1;,+i;,、应用方式,等价于:i=i+1;t=i;,顺序结构程序设计,P37 3(5),#includevoid main()int i,j,m,n;i=8;j=10;m=+i;n=j+;couti,j,m,nendl;,i,j,m,8,10,0,9,11,9,10
5、,n,10,等价于i=i+1;m=i;,等价于n=j;j=j+1;,9,9,11,选择结构程序设计,P58 3(2),#includevoid main()int m=5;if(m+5)coutm;else coutm-;,m,5,6,m5,coutm;m=m-1;,m=m+1,为假,6,5,选择结构程序设计,P58 3(1),#includevoid main()int a,b,c=246;a=c/100%9;b=(-1),逻辑运算:非0为真,2,1,a,b,c,2,246,1,#includevoid main()int a=4,b=5,c=0,d;d=!a,P58 3(5),a,b,c,
6、!b,!a,!c,4,5,0,0,0,1,1,选择结构程序设计,P58 3(3),#includevoid main()int a=1,b=3,c=5,d=4,x;if(ab)if(cd)x=1;else if(ac)if(bd)x=2;else x=3;else x=6;else x=7;coutx=x;,x=2,P58 3(6),P58 3(7),输入3组数据,分别为:1 22 22 1,输入8个数据:07,选择结构程序设计,P59 5,#includevoid main()float x,y;cinx;if(x1)y=x*x-1;else if(x10)y=2*x-1;else y=3*
7、x-11;couty;,y=,x2-1 x12x-1 1x103x-11 x10,选择结构程序设计,P59 7,#include#includevoid main()int m,g,s,b,q,w,ws;cinm;ws=log10(m)+1;g=m%10;s=m/10%10;b=m/100%10;q=m/1000%10;w=m/10000;coutws=wsendl;coutzx:;switch(ws)case 5:coutw;case 4:coutq;case 3:coutb;case 2:couts;case 1:coutg;,coutendlnx:;switch(ws)case 5:co
8、utgsbqw;break;case 4:coutgsbq;break;case 3:coutgsb;break;case 2:coutgs;break;case 1:coutg;,循环结构程序设计,P73 1(2),#includevoid main()int i,j,x=0;for(i=0;i2;i+)x+;for(j=0;j=3;j+)if(j%2)continue;x+;coutx=xn;,i,j,x,0,0,1,0,2,1,2,3,3,4,1,4,0,5,1,2,6,3,4,2,x=6,循环结构程序设计,P73 1(4),#includevoid main()int i,sum=0;
9、for(i=1;i=3;i+,sum+)sum+=i;coutsumn;,i,sum,1,0,9,1,2,2,4,3,5,8,4,9,循环结构程序设计,P73 1(4),#include void main()int n,right_digit,newnum=0;coutn;coutThe number in reverse order is;do right_digit=n%10;coutright_digit;n/=10;while(n!=0);coutendl;,n,right_digit,98765,5,Enter th number:,5,9876,98765,The number
10、in reverse order is,6,6,987,7,7,98,8,8,9,9,9,0,P75 5,循环结构程序设计,P74 2,#include void main()int n;float s;s=1.0;for(n=10;n1;n-)s=s+1/n;coutsn;,A)s=1.0;,S=1+1/2+1/3+1/10,B)for(n=10;n1;n-),C)s=s+1/n,D)coutsn;,循环结构程序设计,P74 4,#include void main()int n,k;float score,sum,ave;sum=0.0;for(n=1;nscore;sum+=score;
11、ave=sum/4.0;cout“NO:”n“平均分”aven;,A)sum=0.0;,读入10名学生4门课程的成绩,计算出每位学生的平均分并输出(有一条语句位置不对,找出来),B)sum+=score;,C)ave=sum/4.0;,D)cout语句,sum=0.0;,找最大公约数可用辗转相除的算法,首先把两个数中大的那个数作为被除数,两数相除得一余数。将除数作为被除数,余数作为除数再作除法,得到一个新的余数。不断重复这一过程直到余数为零,这时的除数就是两个数的最大公约数。,1 r=m%n,2 若r=0,最大公约数为n,否则:,m=n,n=r,转到1,设两数为 m、n,r=m%n,m=n,n
12、=r,公约数是n,当r!=0时,r=m%n,算法的文字描述,算法的N-S图,m,n,r=m%n,60,36,24,36,24,12,24,12,0,循环结构程序设计,最大公约数为12,P75 6,循环结构程序设计,#include void main()int m,n,r,p;scanf(%d,%d,P75 7,若m是水仙花数,则:,(2)b:m的百位数,(1)是三位数,s:m的十位数,g:m的个位数,m=b3+s3+g3,b、s、g的范围,#include void main()int m,b,s,g;for(b=1;b=9;b+)for(s=0;s=9;s+)for(g=0;g=9;g+)
13、m=b*100+s*10+g;if(m=b*b*b+s*s*s+g*g*g)coutm;,循环结构程序设计,找出所有的水仙花数。,b:19 s:09 g:09,循环结构程序设计,s=0,n%i=0,for i=1 to n/2,T,s+=i,s=n,T,打印因子,for n=1 to 999,#include void main()int n,i,s;for(n=1;n1000;n+)s=0;for(i=1;i=n/2;i+)if(n%i=0)s+=i;if(s=n)printf(n%d its factors are:,n);for(i=1;i=n/2;i+)if(n%i=0)printf(%4d,i);,P75 8,完数,循环结构程序设计,P75 9,2/1,3/2,5/3,8/5,前20项之和,数列中每一项的分子用a表示,分母用b表示,第一项:,a=2 b=1,从第二项开始,分子=前项的分子+前项的分母=a+b分母=前项的分子=ac=a;a=a+b;b=c;,#include void main()int a,b,c,i;float s;a=2;b=1;s=0;for(i=1;i=20;i+)s+=a*1.0/b;c=a;a=a+b;b=c;couts;,