资源描述
习题课,三种基本结构 顺序结构、选择结构、循环结构,顺序结构程序设计,P37 3 (1),#include void 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),#include void 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=6 f=6d=6,顺序结构程序设计,P37 3 (3),#include void 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),#include void 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),#include void main() char c1=a,c2=b,c3=c,c4=101,c5=116; coutc1c2c3“n“; cout“tb“c4tc5endl; ,c1,c2,c3,a,b,c,abc,转义字符 P14,c4,A,(65)10,A,(78)10,N,c5,N,t,bA N Press any key to continue,跳到下一个输出区的第一列,顺序结构程序设计,P37 3 (7),#include void main() char c1=C,c2=+,c3=+; cout“I say:“c1c2c3“; cout“tt“He says:“C+ is very interesting!“endl; ,c1,C,I say:,c2,+,c3,+, “,双引号,“ C+,“,He says:“C+ is very interesting!“,+、- 运算符号,i+与+i(i- -与-i)的区别,作为语句,如 i+;,作为表达式,如 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),#include void 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,n,10,等价于i=i+1;m=i;,等价于n=j; j=j+1;,9,9,11,选择结构程序设计,P58 3 (2),#include void 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),#include void main() int a,b,c=246; a=c/100%9; b=(-1) ,逻辑运算: 非0为真,2,1,a,b,c,2,246,1,#include void main() int a=4,b=5,c=0,d; d=!a ,P58 3 (5),a,b,c,!b,!a,!c,4,5,0,0,0,1,1,选择结构程序设计,P58 3 (3),#include void 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; cout“x=“x; ,x=2,P58 3 (6),P58 3 (7),输入3组数据,分别为: 1 2 2 2 2 1,输入8个数据: 07,选择结构程序设计,P59 5,#include void main() float x,y; cinx; if(x1) y=x*x-1; else if(x10) y=2*x-1; else y=3*x-11; couty; ,y=,x2-1 x1 2x-1 1x10 3x-11 x10,选择结构程序设计,P59 7,#include #include void 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; cout“ws=“wsendl; cout“zx:“; switch(ws) case 5:coutw; case 4:coutq; case 3:coutb; case 2:couts; case 1:coutg; ,coutendl“nx:“; switch(ws) case 5:coutgsbqw;break; case 4:coutgsbq;break; case 3:coutgsb;break; case 2:coutgs;break; case 1:coutg; ,循环结构程序设计,P73 1(2),#include void main() int i,j,x=0; for(i=0;i2;i+) x+; for(j=0;j=3;j+) if(j%2) continue; x+; cout“x=“x“n“; ,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),#include void main() int i,sum=0; for(i=1;i=3;i+,sum+) sum+=i; coutsum“n“; ,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; cout“The 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 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; couts“n“;,A) s=1.0;,S=1+1/2+1/3+1/10,B) for(n=10;n1;n-),C) s=s+1/n,D) couts“n“;,循环结构程序设计,P74 4,#include void main() int n,k; float score,sum,ave; sum=0.0; for(n=1;nscore;sum+=score; ave=sum/4.0; cout“NO: ”n“平均分” ave“n“; ,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=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+) 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 分母=前项的分子 =a c=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; ,
展开阅读全文