第2章C++测试答案.docx
《第2章C++测试答案.docx》由会员分享,可在线阅读,更多相关《第2章C++测试答案.docx(35页珍藏版)》请在冰点文库上搜索。
第2章C++测试答案
第2章测试习题
1.单项选择题
(1)putchar函数可以向终端输出一个(D)。
A•整型变量表达式值
C.字符串
2)intk=10;
B.实型变量值
D•字符或字符型变量值
while(k=0)k=k-1;则下面描述正确的是(CA•while循环执行10次
C•循环体语句一次也不执行
3)intx=0,s=0;while(!
x!
=0)s+=++x;cout<
A•运行程序段后输出0
C.程序段中的控制表达式是非法的
4)intx=0,y=0;while(x<15)y++,x+=++y;cout<A.20,7B.6,125)inta=1,b=2,c=2;while(a)。B.循环是无限循环D.循环体语句执行一次B.运行程序段后输出1D.程序段执行无限次C.20,8D.8,2A.1,2,0B.2,1,0C.1,2,1D.2,1,1(6)intx=-1;do{x=x*x;}while(!x);下列说法正确的是(C)。A.是死循环B.循环执行两次C.循环执行一次D.有语法错误(7)以下能正确计算1*2*3*…*10的程序段是(C)< A.do{i=1;s=1;B.do{i=1;s=0;s=s*i;i++;}s=s*i;i++;}while(i<=10);while(i<=10);C.i=1;s=1;D.i=1;s=0;do{s=s*i;do{s=s*i;i++;}i++;}while(i<=10);while(i<=10);8)以下描述正确的是(C)。A.由于do-while循环中循环体语句只是一条可执行语句,所以循环体内不能使用复合语句B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C.在do-while循环体中,一定要有能使while后面表达式的值变为零("假”)的操作D.do-while循环中,根据情况可以省略while(9)C++语言中while和do-while循环的主要区别是(A)。A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do-while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句10)下面有关for循环的正确描述是(D)。A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来11)对for(表达式1;;表达式3)可理解为(B)。A.for(表达式1;0;表达式3)B.for(表达式1;1;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)12)for(i=2;i==0;)printf(“%d”--),;I循环执行的次数是(B)。A.无限次B.0次C.1次D.2次13)下面程序段的运行结果为(C)。for(y=1;y<10;)y=((x=3*y,x+1),x-1);cout<<“x=”<A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=2714)以下不是无限循环的语句为(D)。A.for(y=0,x=1;x>++y;x=I++)I=x;C.while(1){x++;}B.for(;;x++=I);D.for(I=10;;I--)sum+=I;15)下面程序的运行结果是(D)。#includeviodmain(){inti,b,k=0;for(i=1;i<=5;i++){b=i%2;while(b-->=0)k++;}cout<A.3,-1B.8,-1C.3,0D.8,-216)以下正确的描述是(B)。A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循坏体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出,只能使用goto语句17)下面程序段(D)。for(t=1;t<=100;t++){cin>>x;if(x<0)continue;cout<A.当x<0时整个循环结束B.x>=0时什么也不输出C.cout永远也不执行D.最多允许输出100个非负整数18)下面程序段(B)。x=3;do{y=x--;if(!y){cout<<”x”;continue;}cout<<”#”;w}hile(1<=x<=2);A.将输出##B.将输出##*C.是死循环D.含有不合法的控制表达式19)下面程序的运行结果是(B)。#includevoidmain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;} b-=5;}cout<}A.7B.8C.9D.1020)下面程序段的运行结果是(B)。#includevoidmain(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<“x=”<}A.x=4B.x=8C.x=621)下面程序段的运行结果是(A)。D.x=12#includevoidmain(){inti;for(i=1;i<=5;i++){if(I%2)cout<<“*”;elsecontinue;cout<<“#”;}cout<<“$n”;}A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$22)下面程序段的运行结果是(A)。#includevoidmain(){inti,j,a=0;for(i=0;i<2;i++){for(j=0;j<4;j++){if(j%2)break;a++;}a++;}cout<}A.4B.5C.6D.72.填空题:(1)下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环,请填空。intn=0,c;c=cin.get();while(c!='n'){if(c>='0'&&c<=')9'n++;c=cin.get();}(2)1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?#include main(){intday,x1,x2;day=0;x1=1020;while(x1>0){x2=(x1/2-2);x1=x2;day++;cout<(5)运行下面程序段后,k值为(36)。k=1;n=263;do{k*=n%10;n/=10;}while(n);(6)下面程序段中循环体的执行次数是(3)。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);(7)下面程序段的运行结果为(**)。x=2;do{cout<<“*”--;;x}while(!x==0);(8)下面程序段的运行结果是(a=-5)。i=1;a=0;s=1;do{a=a+s*i;s=-s;i++;}while(I<=10);cout<<“a=”<(9)下面程序段的运行结果是()。for(a=1,i=-1;-1<=i<1;i++){a++;cout<本题循环条件是假值,所以什么也不输出。(10)鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空。for(x=1;x<=29;x++){y=30-x;if(2*x+4*y==90)cout(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。#includevoidmain(){inti,j,k;cout<<“n”;for(i=0;i<=3;i++)for((j=1);j<=5;j++){k=8-i-j;if(k>0&&k<=6)cout<}}(12)下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数,请填空。#includevoidmain(){intn=0,i,j,k;for(i=1;i<=9;i++)for(k=0;k<=8;(k+=2))if(k!=i)for(j=0;j<=9;j++)if(j!=i&&j!=k)n++;cout<<“n=”<<<}3.看程序,写结果(1)#includevoidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
A.20,7B.6,12
5)inta=1,b=2,c=2;while(a
)。
B.循环是无限循环
D.循环体语句执行一次
B.运行程序段后输出1
D.程序段执行无限次
C.20,8D.8,2
A.1,2,0B.
2,1,0
C.1,2,1D.
2,1,1
(6)intx=-1;
do
{x=x*x;}
while(!
x);
下列说法正确的是(
C)。
A.是死循环
B
.循环执行两次
C.循环执行一次
D
.有语法错误
(7)以下能正确计算
1*2*3*…
*10的程序段是(
C)
< A.do{i=1;s=1;B.do{i=1;s=0;s=s*i;i++;}s=s*i;i++;}while(i<=10);while(i<=10);C.i=1;s=1;D.i=1;s=0;do{s=s*i;do{s=s*i;i++;}i++;}while(i<=10);while(i<=10);8)以下描述正确的是(C)。A.由于do-while循环中循环体语句只是一条可执行语句,所以循环体内不能使用复合语句B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C.在do-while循环体中,一定要有能使while后面表达式的值变为零("假”)的操作D.do-while循环中,根据情况可以省略while(9)C++语言中while和do-while循环的主要区别是(A)。A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do-while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句10)下面有关for循环的正确描述是(D)。A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来11)对for(表达式1;;表达式3)可理解为(B)。A.for(表达式1;0;表达式3)B.for(表达式1;1;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)12)for(i=2;i==0;)printf(“%d”--),;I循环执行的次数是(B)。A.无限次B.0次C.1次D.2次13)下面程序段的运行结果为(C)。for(y=1;y<10;)y=((x=3*y,x+1),x-1);cout<<“x=”<A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=2714)以下不是无限循环的语句为(D)。A.for(y=0,x=1;x>++y;x=I++)I=x;C.while(1){x++;}B.for(;;x++=I);D.for(I=10;;I--)sum+=I;15)下面程序的运行结果是(D)。#includeviodmain(){inti,b,k=0;for(i=1;i<=5;i++){b=i%2;while(b-->=0)k++;}cout<A.3,-1B.8,-1C.3,0D.8,-216)以下正确的描述是(B)。A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循坏体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出,只能使用goto语句17)下面程序段(D)。for(t=1;t<=100;t++){cin>>x;if(x<0)continue;cout<A.当x<0时整个循环结束B.x>=0时什么也不输出C.cout永远也不执行D.最多允许输出100个非负整数18)下面程序段(B)。x=3;do{y=x--;if(!y){cout<<”x”;continue;}cout<<”#”;w}hile(1<=x<=2);A.将输出##B.将输出##*C.是死循环D.含有不合法的控制表达式19)下面程序的运行结果是(B)。#includevoidmain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;} b-=5;}cout<}A.7B.8C.9D.1020)下面程序段的运行结果是(B)。#includevoidmain(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<“x=”<}A.x=4B.x=8C.x=621)下面程序段的运行结果是(A)。D.x=12#includevoidmain(){inti;for(i=1;i<=5;i++){if(I%2)cout<<“*”;elsecontinue;cout<<“#”;}cout<<“$n”;}A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$22)下面程序段的运行结果是(A)。#includevoidmain(){inti,j,a=0;for(i=0;i<2;i++){for(j=0;j<4;j++){if(j%2)break;a++;}a++;}cout<}A.4B.5C.6D.72.填空题:(1)下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环,请填空。intn=0,c;c=cin.get();while(c!='n'){if(c>='0'&&c<=')9'n++;c=cin.get();}(2)1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?#include main(){intday,x1,x2;day=0;x1=1020;while(x1>0){x2=(x1/2-2);x1=x2;day++;cout<(5)运行下面程序段后,k值为(36)。k=1;n=263;do{k*=n%10;n/=10;}while(n);(6)下面程序段中循环体的执行次数是(3)。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);(7)下面程序段的运行结果为(**)。x=2;do{cout<<“*”--;;x}while(!x==0);(8)下面程序段的运行结果是(a=-5)。i=1;a=0;s=1;do{a=a+s*i;s=-s;i++;}while(I<=10);cout<<“a=”<(9)下面程序段的运行结果是()。for(a=1,i=-1;-1<=i<1;i++){a++;cout<本题循环条件是假值,所以什么也不输出。(10)鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空。for(x=1;x<=29;x++){y=30-x;if(2*x+4*y==90)cout(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。#includevoidmain(){inti,j,k;cout<<“n”;for(i=0;i<=3;i++)for((j=1);j<=5;j++){k=8-i-j;if(k>0&&k<=6)cout<}}(12)下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数,请填空。#includevoidmain(){intn=0,i,j,k;for(i=1;i<=9;i++)for(k=0;k<=8;(k+=2))if(k!=i)for(j=0;j<=9;j++)if(j!=i&&j!=k)n++;cout<<“n=”<<<}3.看程序,写结果(1)#includevoidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
A.
do{i=1;s=1;
B.do{i=1;s=0;
s=s*i;i++;}
while(i<=10);
C.i=1;s=1;
D.i=1;s=0;
do{s=s*i;
i++;}
8)
以下描述正确的是(C
A.由于do-while循环中循环体语句只是一条可执行语句,所以循环体内不能使用复合
语句
B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C.在do-while循环体中,一定要有能使while后面表达式的值变为零("假”)的操作
D.do-while循环中,根据情况可以省略while
(9)C++语言中while和do-while循环的主要区别是(A)。
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件严格C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
10)下面有关for循环的正确描述是(D)。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来11)对for(表达式1;;表达式3)可理解为(B)。
A.for(表达式1;0;表达式3)B.for(表达式1;1;表达式3)
C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)12)for(i=2;i==0;)printf(“%d”--),;I循环执行的次数是(B)。
A.无限次B.0次C.1次D.2次
13)下面程序段的运行结果为(C)。
for(y=1;y<10;)y=((x=3*y,x+1),x-1);
cout<<“x=”<A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=2714)以下不是无限循环的语句为(D)。A.for(y=0,x=1;x>++y;x=I++)I=x;C.while(1){x++;}B.for(;;x++=I);D.for(I=10;;I--)sum+=I;15)下面程序的运行结果是(D)。#includeviodmain(){inti,b,k=0;for(i=1;i<=5;i++){b=i%2;while(b-->=0)k++;}cout<A.3,-1B.8,-1C.3,0D.8,-216)以下正确的描述是(B)。A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循坏体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出,只能使用goto语句17)下面程序段(D)。for(t=1;t<=100;t++){cin>>x;if(x<0)continue;cout<A.当x<0时整个循环结束B.x>=0时什么也不输出C.cout永远也不执行D.最多允许输出100个非负整数18)下面程序段(B)。x=3;do{y=x--;if(!y){cout<<”x”;continue;}cout<<”#”;w}hile(1<=x<=2);A.将输出##B.将输出##*C.是死循环D.含有不合法的控制表达式19)下面程序的运行结果是(B)。#includevoidmain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;} b-=5;}cout<}A.7B.8C.9D.1020)下面程序段的运行结果是(B)。#includevoidmain(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<“x=”<}A.x=4B.x=8C.x=621)下面程序段的运行结果是(A)。D.x=12#includevoidmain(){inti;for(i=1;i<=5;i++){if(I%2)cout<<“*”;elsecontinue;cout<<“#”;}cout<<“$n”;}A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$22)下面程序段的运行结果是(A)。#includevoidmain(){inti,j,a=0;for(i=0;i<2;i++){for(j=0;j<4;j++){if(j%2)break;a++;}a++;}cout<}A.4B.5C.6D.72.填空题:(1)下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环,请填空。intn=0,c;c=cin.get();while(c!='n'){if(c>='0'&&c<=')9'n++;c=cin.get();}(2)1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?#include main(){intday,x1,x2;day=0;x1=1020;while(x1>0){x2=(x1/2-2);x1=x2;day++;cout<(5)运行下面程序段后,k值为(36)。k=1;n=263;do{k*=n%10;n/=10;}while(n);(6)下面程序段中循环体的执行次数是(3)。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);(7)下面程序段的运行结果为(**)。x=2;do{cout<<“*”--;;x}while(!x==0);(8)下面程序段的运行结果是(a=-5)。i=1;a=0;s=1;do{a=a+s*i;s=-s;i++;}while(I<=10);cout<<“a=”<(9)下面程序段的运行结果是()。for(a=1,i=-1;-1<=i<1;i++){a++;cout<本题循环条件是假值,所以什么也不输出。(10)鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空。for(x=1;x<=29;x++){y=30-x;if(2*x+4*y==90)cout(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。#includevoidmain(){inti,j,k;cout<<“n”;for(i=0;i<=3;i++)for((j=1);j<=5;j++){k=8-i-j;if(k>0&&k<=6)cout<}}(12)下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数,请填空。#includevoidmain(){intn=0,i,j,k;for(i=1;i<=9;i++)for(k=0;k<=8;(k+=2))if(k!=i)for(j=0;j<=9;j++)if(j!=i&&j!=k)n++;cout<<“n=”<<<}3.看程序,写结果(1)#includevoidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
A.x=27,y=27B.x=12,y=13
C.x=15,y=14D.x=y=27
14)以下不是无限循环的语句为(D)。
A.for(y=0,x=1;x>++y;x=I++)I=x;
C.while
(1){x++;}
B.for(;;x++=I);
D.for(I=10;;I--)sum+=I;
15)下面程序的运行结果是(D)。
#include
viodmain()
{inti,b,k=0;
for(i=1;i<=5;i++)
{b=i%2;
while(b-->=0)k++;}
cout<A.3,-1B.8,-1C.3,0D.8,-216)以下正确的描述是(B)。A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循坏体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出,只能使用goto语句17)下面程序段(D)。for(t=1;t<=100;t++){cin>>x;if(x<0)continue;cout<A.当x<0时整个循环结束B.x>=0时什么也不输出C.cout永远也不执行D.最多允许输出100个非负整数18)下面程序段(B)。x=3;do{y=x--;if(!y){cout<<”x”;continue;}cout<<”#”;w}hile(1<=x<=2);A.将输出##B.将输出##*C.是死循环D.含有不合法的控制表达式19)下面程序的运行结果是(B)。#includevoidmain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;} b-=5;}cout<}A.7B.8C.9D.1020)下面程序段的运行结果是(B)。#includevoidmain(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<“x=”<}A.x=4B.x=8C.x=621)下面程序段的运行结果是(A)。D.x=12#includevoidmain(){inti;for(i=1;i<=5;i++){if(I%2)cout<<“*”;elsecontinue;cout<<“#”;}cout<<“$n”;}A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$22)下面程序段的运行结果是(A)。#includevoidmain(){inti,j,a=0;for(i=0;i<2;i++){for(j=0;j<4;j++){if(j%2)break;a++;}a++;}cout<}A.4B.5C.6D.72.填空题:(1)下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环,请填空。intn=0,c;c=cin.get();while(c!='n'){if(c>='0'&&c<=')9'n++;c=cin.get();}(2)1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?#include main(){intday,x1,x2;day=0;x1=1020;while(x1>0){x2=(x1/2-2);x1=x2;day++;cout<(5)运行下面程序段后,k值为(36)。k=1;n=263;do{k*=n%10;n/=10;}while(n);(6)下面程序段中循环体的执行次数是(3)。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);(7)下面程序段的运行结果为(**)。x=2;do{cout<<“*”--;;x}while(!x==0);(8)下面程序段的运行结果是(a=-5)。i=1;a=0;s=1;do{a=a+s*i;s=-s;i++;}while(I<=10);cout<<“a=”<(9)下面程序段的运行结果是()。for(a=1,i=-1;-1<=i<1;i++){a++;cout<本题循环条件是假值,所以什么也不输出。(10)鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空。for(x=1;x<=29;x++){y=30-x;if(2*x+4*y==90)cout(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。#includevoidmain(){inti,j,k;cout<<“n”;for(i=0;i<=3;i++)for((j=1);j<=5;j++){k=8-i-j;if(k>0&&k<=6)cout<}}(12)下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数,请填空。#includevoidmain(){intn=0,i,j,k;for(i=1;i<=9;i++)for(k=0;k<=8;(k+=2))if(k!=i)for(j=0;j<=9;j++)if(j!=i&&j!=k)n++;cout<<“n=”<<<}3.看程序,写结果(1)#includevoidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
A.3,-1B.8,-1C.3,0
D.8,-2
16)以下正确的描述是(B)。
A.continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循坏体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出,只能使用goto语句
17)下面程序段(D)。
for(t=1;t<=100;t++)
{cin>>x;
if(x<0)continue;
cout<A.当x<0时整个循环结束B.x>=0时什么也不输出C.cout永远也不执行D.最多允许输出100个非负整数18)下面程序段(B)。x=3;do{y=x--;if(!y){cout<<”x”;continue;}cout<<”#”;w}hile(1<=x<=2);A.将输出##B.将输出##*C.是死循环D.含有不合法的控制表达式19)下面程序的运行结果是(B)。#includevoidmain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;} b-=5;}cout<}A.7B.8C.9D.1020)下面程序段的运行结果是(B)。#includevoidmain(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<“x=”<}A.x=4B.x=8C.x=621)下面程序段的运行结果是(A)。D.x=12#includevoidmain(){inti;for(i=1;i<=5;i++){if(I%2)cout<<“*”;elsecontinue;cout<<“#”;}cout<<“$n”;}A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$22)下面程序段的运行结果是(A)。#includevoidmain(){inti,j,a=0;for(i=0;i<2;i++){for(j=0;j<4;j++){if(j%2)break;a++;}a++;}cout<}A.4B.5C.6D.72.填空题:(1)下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环,请填空。intn=0,c;c=cin.get();while(c!='n'){if(c>='0'&&c<=')9'n++;c=cin.get();}(2)1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?#include main(){intday,x1,x2;day=0;x1=1020;while(x1>0){x2=(x1/2-2);x1=x2;day++;cout<(5)运行下面程序段后,k值为(36)。k=1;n=263;do{k*=n%10;n/=10;}while(n);(6)下面程序段中循环体的执行次数是(3)。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);(7)下面程序段的运行结果为(**)。x=2;do{cout<<“*”--;;x}while(!x==0);(8)下面程序段的运行结果是(a=-5)。i=1;a=0;s=1;do{a=a+s*i;s=-s;i++;}while(I<=10);cout<<“a=”<(9)下面程序段的运行结果是()。for(a=1,i=-1;-1<=i<1;i++){a++;cout<本题循环条件是假值,所以什么也不输出。(10)鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空。for(x=1;x<=29;x++){y=30-x;if(2*x+4*y==90)cout(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。#includevoidmain(){inti,j,k;cout<<“n”;for(i=0;i<=3;i++)for((j=1);j<=5;j++){k=8-i-j;if(k>0&&k<=6)cout<}}(12)下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数,请填空。#includevoidmain(){intn=0,i,j,k;for(i=1;i<=9;i++)for(k=0;k<=8;(k+=2))if(k!=i)for(j=0;j<=9;j++)if(j!=i&&j!=k)n++;cout<<“n=”<<<}3.看程序,写结果(1)#includevoidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
A.当x<0时整个循环结束B.x>=0时什么也不输出
C.cout永远也不执行D.最多允许输出100个非负整数
18)下面程序段(B)。
x=3;
do{y=x--;
if(!
y){cout<<”x”;continue;}cout<<”#”;w}hile(1<=x<=2);
A.将输出##B.将输出##*
C.是死循环D.含有不合法的控制表达式
19)下面程序的运行结果是(B)。
voidmain()
{inta,b;
for(a=1,b=1;a<=100;a++)
{if(b>=20)break;
if(b%3==1){b+=3;continue;}
b-=5;
}
cout<}A.7B.8C.9D.1020)下面程序段的运行结果是(B)。#includevoidmain(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}cout<<“x=”<}A.x=4B.x=8C.x=621)下面程序段的运行结果是(A)。D.x=12#includevoidmain(){inti;for(i=1;i<=5;i++){if(I%2)cout<<“*”;elsecontinue;cout<<“#”;}cout<<“$n”;}A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$22)下面程序段的运行结果是(A)。#includevoidmain(){inti,j,a=0;for(i=0;i<2;i++){for(j=0;j<4;j++){if(j%2)break;a++;}a++;}cout<}A.4B.5C.6D.72.填空题:(1)下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环,请填空。intn=0,c;c=cin.get();while(c!='n'){if(c>='0'&&c<=')9'n++;c=cin.get();}(2)1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?#include main(){intday,x1,x2;day=0;x1=1020;while(x1>0){x2=(x1/2-2);x1=x2;day++;cout<(5)运行下面程序段后,k值为(36)。k=1;n=263;do{k*=n%10;n/=10;}while(n);(6)下面程序段中循环体的执行次数是(3)。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);(7)下面程序段的运行结果为(**)。x=2;do{cout<<“*”--;;x}while(!x==0);(8)下面程序段的运行结果是(a=-5)。i=1;a=0;s=1;do{a=a+s*i;s=-s;i++;}while(I<=10);cout<<“a=”<(9)下面程序段的运行结果是()。for(a=1,i=-1;-1<=i<1;i++){a++;cout<本题循环条件是假值,所以什么也不输出。(10)鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空。for(x=1;x<=29;x++){y=30-x;if(2*x+4*y==90)cout(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。#includevoidmain(){inti,j,k;cout<<“n”;for(i=0;i<=3;i++)for((j=1);j<=5;j++){k=8-i-j;if(k>0&&k<=6)cout<}}(12)下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数,请填空。#includevoidmain(){intn=0,i,j,k;for(i=1;i<=9;i++)for(k=0;k<=8;(k+=2))if(k!=i)for(j=0;j<=9;j++)if(j!=i&&j!=k)n++;cout<<“n=”<<<}3.看程序,写结果(1)#includevoidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
A.7B.8C.9D.10
20)下面程序段的运行结果是(B)。
{inti,j,x=0;
for(i=0;i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++;
cout<<“x=”<}A.x=4B.x=8C.x=621)下面程序段的运行结果是(A)。D.x=12#includevoidmain(){inti;for(i=1;i<=5;i++){if(I%2)cout<<“*”;elsecontinue;cout<<“#”;}cout<<“$n”;}A.*#*#*#$B.#*#*#*$C.*#*#$D.#*#*$22)下面程序段的运行结果是(A)。#includevoidmain(){inti,j,a=0;for(i=0;i<2;i++){for(j=0;j<4;j++){if(j%2)break;a++;}a++;}cout<}A.4B.5C.6D.72.填空题:(1)下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环,请填空。intn=0,c;c=cin.get();while(c!='n'){if(c>='0'&&c<=')9'n++;c=cin.get();}(2)1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?#include main(){intday,x1,x2;day=0;x1=1020;while(x1>0){x2=(x1/2-2);x1=x2;day++;cout<(5)运行下面程序段后,k值为(36)。k=1;n=263;do{k*=n%10;n/=10;}while(n);(6)下面程序段中循环体的执行次数是(3)。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);(7)下面程序段的运行结果为(**)。x=2;do{cout<<“*”--;;x}while(!x==0);(8)下面程序段的运行结果是(a=-5)。i=1;a=0;s=1;do{a=a+s*i;s=-s;i++;}while(I<=10);cout<<“a=”<(9)下面程序段的运行结果是()。for(a=1,i=-1;-1<=i<1;i++){a++;cout<本题循环条件是假值,所以什么也不输出。(10)鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空。for(x=1;x<=29;x++){y=30-x;if(2*x+4*y==90)cout(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。#includevoidmain(){inti,j,k;cout<<“n”;for(i=0;i<=3;i++)for((j=1);j<=5;j++){k=8-i-j;if(k>0&&k<=6)cout<}}(12)下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数,请填空。#includevoidmain(){intn=0,i,j,k;for(i=1;i<=9;i++)for(k=0;k<=8;(k+=2))if(k!=i)for(j=0;j<=9;j++)if(j!=i&&j!=k)n++;cout<<“n=”<<<}3.看程序,写结果(1)#includevoidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
A.x=4B.x=8C.x=6
21)下面程序段的运行结果是(A)。
D.x=12
{inti;
{if(I%2)cout<<“*”;
elsecontinue;
cout<<“#”;}
cout<<“$n”;}
A.*#*#*#$B.#*#*#*$
C.*#*#$D.#*#*$
22)下面程序段的运行结果是(A)。
{inti,j,a=0;
{for(j=0;j<4;j++)
{if(j%2)break;
a++;
cout<}A.4B.5C.6D.72.填空题:(1)下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环,请填空。intn=0,c;c=cin.get();while(c!='n'){if(c>='0'&&c<=')9'n++;c=cin.get();}(2)1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?#include main(){intday,x1,x2;day=0;x1=1020;while(x1>0){x2=(x1/2-2);x1=x2;day++;cout<(5)运行下面程序段后,k值为(36)。k=1;n=263;do{k*=n%10;n/=10;}while(n);(6)下面程序段中循环体的执行次数是(3)。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);(7)下面程序段的运行结果为(**)。x=2;do{cout<<“*”--;;x}while(!x==0);(8)下面程序段的运行结果是(a=-5)。i=1;a=0;s=1;do{a=a+s*i;s=-s;i++;}while(I<=10);cout<<“a=”<(9)下面程序段的运行结果是()。for(a=1,i=-1;-1<=i<1;i++){a++;cout<本题循环条件是假值,所以什么也不输出。(10)鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空。for(x=1;x<=29;x++){y=30-x;if(2*x+4*y==90)cout(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。#includevoidmain(){inti,j,k;cout<<“n”;for(i=0;i<=3;i++)for((j=1);j<=5;j++){k=8-i-j;if(k>0&&k<=6)cout<}}(12)下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数,请填空。#includevoidmain(){intn=0,i,j,k;for(i=1;i<=9;i++)for(k=0;k<=8;(k+=2))if(k!=i)for(j=0;j<=9;j++)if(j!=i&&j!=k)n++;cout<<“n=”<<<}3.看程序,写结果(1)#includevoidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
A.4B.5C.6
D.7
2.填空题:
(1)下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环,请填空。
intn=0,c;
c=cin.get();
while(c!
='n')
{if(c>='0'&&c<=')9'n++;c=cin.get();
(2)1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?
main()
{intday,x1,x2;day=0;x1=1020;while(x1>0){x2=(x1/2-2);x1=x2;day++;cout<(5)运行下面程序段后,k值为(36)。k=1;n=263;do{k*=n%10;n/=10;}while(n);(6)下面程序段中循环体的执行次数是(3)。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);(7)下面程序段的运行结果为(**)。x=2;do{cout<<“*”--;;x}while(!x==0);(8)下面程序段的运行结果是(a=-5)。i=1;a=0;s=1;do{a=a+s*i;s=-s;i++;}while(I<=10);cout<<“a=”<(9)下面程序段的运行结果是()。for(a=1,i=-1;-1<=i<1;i++){a++;cout<本题循环条件是假值,所以什么也不输出。(10)鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空。for(x=1;x<=29;x++){y=30-x;if(2*x+4*y==90)cout(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。#includevoidmain(){inti,j,k;cout<<“n”;for(i=0;i<=3;i++)for((j=1);j<=5;j++){k=8-i-j;if(k>0&&k<=6)cout<}}(12)下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数,请填空。#includevoidmain(){intn=0,i,j,k;for(i=1;i<=9;i++)for(k=0;k<=8;(k+=2))if(k!=i)for(j=0;j<=9;j++)if(j!=i&&j!=k)n++;cout<<“n=”<<<}3.看程序,写结果(1)#includevoidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
(5)运行下面程序段后,k值为(36)。
k=1;n=263;
do{k*=n%10;n/=10;}while(n);
(6)下面程序段中循环体的执行次数是(3)。
a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);
(7)下面程序段的运行结果为(**)。
x=2;
do{cout<<“*”--;;x}while(!
x==0);
(8)下面程序段的运行结果是(a=-5)。
i=1;a=0;s=1;
do{a=a+s*i;s=-s;i++;}while(I<=10);
cout<<“a=”<(9)下面程序段的运行结果是()。for(a=1,i=-1;-1<=i<1;i++){a++;cout<本题循环条件是假值,所以什么也不输出。(10)鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空。for(x=1;x<=29;x++){y=30-x;if(2*x+4*y==90)cout(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。#includevoidmain(){inti,j,k;cout<<“n”;for(i=0;i<=3;i++)for((j=1);j<=5;j++){k=8-i-j;if(k>0&&k<=6)cout<}}(12)下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数,请填空。#includevoidmain(){intn=0,i,j,k;for(i=1;i<=9;i++)for(k=0;k<=8;(k+=2))if(k!=i)for(j=0;j<=9;j++)if(j!=i&&j!=k)n++;cout<<“n=”<<<}3.看程序,写结果(1)#includevoidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
(9)下面程序段的运行结果是()。
for(a=1,i=-1;-1<=i<1;i++){a++;cout<本题循环条件是假值,所以什么也不输出。(10)鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空。for(x=1;x<=29;x++){y=30-x;if(2*x+4*y==90)cout(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。#includevoidmain(){inti,j,k;cout<<“n”;for(i=0;i<=3;i++)for((j=1);j<=5;j++){k=8-i-j;if(k>0&&k<=6)cout<}}(12)下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数,请填空。#includevoidmain(){intn=0,i,j,k;for(i=1;i<=9;i++)for(k=0;k<=8;(k+=2))if(k!=i)for(j=0;j<=9;j++)if(j!=i&&j!=k)n++;cout<<“n=”<<<}3.看程序,写结果(1)#includevoidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
本题循环条件是假值,所以什么也不输出。
(10)鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x代表有多少只鸡,y代表有多少只兔子,请填空。
for(x=1;x<=29;x++)
{y=30-x;
if(2*x+4*y==90)cout(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。#includevoidmain(){inti,j,k;cout<<“n”;for(i=0;i<=3;i++)for((j=1);j<=5;j++){k=8-i-j;if(k>0&&k<=6)cout<}}(12)下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数,请填空。#includevoidmain(){intn=0,i,j,k;for(i=1;i<=9;i++)for(k=0;k<=8;(k+=2))if(k!=i)for(j=0;j<=9;j++)if(j!=i&&j!=k)n++;cout<<“n=”<<<}3.看程序,写结果(1)#includevoidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
(11)下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有可能的方案,请填空。
{
inti,j,k;
cout<<“n”;
for(i=0;i<=3;i++)for((j=1);j<=5;j++){k=8-i-j;
if(k>0&&k<=6)cout<
}}
(12)下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数,请填空。
{intn=0,i,j,k;for(i=1;i<=9;i++)
for(k=0;k<=8;(k+=2))
if(k!
=i)for(j=0;j<=9;j++)if(j!
=i&&j!
=k)n++;
cout<<“n=”<<<}3.看程序,写结果(1)#includevoidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
3.看程序,写结果
(1)#include
{inti=0,x=0,y=0;
do{++i;
if(i%2!
=0){x=x+i;i++;}y=y+i++;
}while(i<=7);
cout<<“x=”<x=1,y=202)#includevoidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
x=1,y=20
2)#include
{inti,t,sum=0;
for(t=i=1;i<=10;){sum+=t;++i;
if(i%3==0)t=-i;
elset=i;}
cout<<“sum=”<sum=19(3)ncludevoidmain(){inti;for(i=1;i<=5;i++)switch(i%2){case0:i++;cout<<“#”;break;case1:i+=2;cout<<“*”;default:cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
sum=19
(3)nclude
switch(i%2)
{case0:
i++;cout<<“#”;break;
case1:
i+=2;cout<<“*”;
default:
cout<*#(4)#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
*
#
(4)#include
{inty=2,a=1;
while(y--!
=-1)
{do{a*=y;a++;}while(y--);}
cout<1-2(5)#includevoidmain(){inti,j;for(i=4;i>=1;i--){for(j=1;j<=i;j++)putchar(‘#');for(j=1;j<=4-i;j++)putchar(‘*');putchar(n‘');}}运行结果:#######*##**#***(6)#includevoidmain(){inti,k=0;for(i=1;;i++){k++;if(k%3==0)break;}cout<}运行结果:33(7)#includevoidmain(){inti=1;while(i<=15)if(++i%3!=2)continue;elsecout<}运行结果:2581114(8)#includevoidmain(){inta=10,y=0;do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
1-2
(5)#include
{inti,j;
for(i=4;i>=1;i--)
{for(j=1;j<=i;j++)putchar(‘#');
for(j=1;j<=4-i;j++)putchar(‘*');
putchar(n‘');}}运行结果:
####
###*
##**
#***
(6)#include
{inti,k=0;
for(i=1;;i++)
{k++;
if(k%3==0)break;
cout<
运行结果:
33
(7)#include
{inti=1;
while(i<=15)if(++i%3!
=2)continue;elsecout<
2581114
(8)#include
{inta=10,y=0;
do{a+=2;y+=a;if(y>50)break;}while(a=14);cout<<“a=”<a=16y=60(9)#includevoidmain(){inti,k=19;while(i=k-1){k-=3;if(k%5==0){i++;continue;}elseif(k<5)break;i++;}cout<<“i=”<一}运行结果:i=6k=4(10)#includevoidmain(){inti=5;do{switch(i%2){case4:i--;break;case6:i--;continue;}i--;i--;cout<0);}运行结果:31-14•按下列要求编写程序(1)有一个函数如下:.■x(x<5)y=!x+6(5<=x<15)x-6(x>=15)输入x的值,计算出相应的y值。程序为:#includevoidmain(){intx,y;cin>>x;if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
a=16y=60
(9)#include
{inti,k=19;
while(i=k-1){k-=3;
if(k%5==0){i++;continue;}elseif(k<5)break;
cout<<“i=”<
一}运行结果:
i=6k=4
(10)#include
{inti=5;
do{switch(i%2)
{case4:
i--;break;case6:
i--;continue;
i--;i--;
cout<0);
31-1
4•按下列要求编写程序
(1)有一个函数如下:
.■x(x<5)
y=!
x+6(5<=x<15)
x-6(x>=15)
输入x的值,计算出相应的y值。
程序为:
#includevoidmain()
intx,y;
cin>>x;
if(x<5)y=5;if(x>=5&&x<15)y=x+6;if(x>=15)y=x-6;cout<}(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。程序为:#includeintmain(){inta,b,n;cin>>a>>b;cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
(2)编程要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。
intmain()
inta,b,n;
cin>>a>>b;
cout<<"a="<if(a*a+b*b>100)n=(a*a+b*b)/100;elsen=a+b;cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
if(a*a+b*b>100)n=(a*a+b*b)/100;
elsen=a+b;
cout<return0;}(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。程序为:#include#includeintmain(){doublei,p,pai;i=1;pai=0;do{p=pow(-i,i-1)*1.0/(2*i-1);pai=pai+4*p;}while(p>=0.000001);cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
return0;
(3)根据n/4=1-1/3+1/5-1/7+…求n的近似值,直到最后一项的值小于0.000001为止。
doublei,p,pai;
i=1;
pai=0;
do{
p=pow(-i,i-1)*1.0/(2*i-1);
pai=pai+4*p;
}while(p>=0.000001);
cout<<"pai="<return0;}(4)编程输出如下图形:(例n=6)******************************************************************程序为:方法1:#includevoidmain(){inti,j,k;for(i=1;i<=6;i++){for(k=1;k<=20-2*i;k++)cout<<'';for(j=1;j<=4*i-3;j++)cout<<'*';cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
(4)编程输出如下图形:
(例n=6)
*****
*********
*************
*****************
*********************
方法1:
{inti,j,k;
for(i=1;i<=6;i++)
{for(k=1;k<=20-2*i;k++)
cout<<'';
for(j=1;j<=4*i-3;j++)
cout<<'*';
cout<}}方法2:#includeintmain(){inti,j;for(i=1;i<=6;i++){for(j=1;j<=12-2*i;j++)cout<<"";{for(j=13-2*i;j<=9+2*i;j++)cout<<"*";cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
方法2:
inti,j;
for(j=1;j<=12-2*i;j++)
cout<<"";
for(j=13-2*i;j<=9+2*i;j++)
cout<<"*";
cout<}}return0;}(5)求1!+2!+3!+・・・8!。程序为:#includeintmain(){inti;doublem=1.0,s=0.0;for(i=1;i<=8;i++){m=m*i;s=s+m;}cout<return0;}6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:#include#includeusingnamespacestd;intmain(){inta,b,c,n,m;cout<<"所有的\"水仙花数\":"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
(5)求1!
+2!
+3!
+・・・8!
。
intmain(){
inti;
doublem=1.0,s=0.0;
for(i=1;i<=8;i++)
{m=m*i;
s=s+m;}
6)打印出所有的“水仙花数“(它是一个三位数,其各位数字立方和等于该数本身)程序为:
usingnamespacestd;
inta,b,c,n,m;
cout<<"所有的\"水仙花数\":
"<for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++){n=100*a+10*b+c;m=a*a*a+b*b*b+c*c*c;if(n==m&&n<=999)cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)for(c=0;c<=9;c++){
n=100*a+10*b+c;
m=a*a*a+b*b*b+c*c*c;
if(n==m&&n<=999)
cout<return0;}(7)编写一个程序,输入年、月,打印出该年份该月的天数。程序为:#includevoidmain(){intyear,month,days;cin>>year>>month;switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;}cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
(7)编写一个程序,输入年、月,打印出该年份该月的天数。
{intyear,month,days;
cin>>year>>month;
switch(month)
{case1:
case3:
case5:
case7:
case8:
case10:
case12:
days=31;break;
case4:
case6:
case9:
case11:
days=30;break;
case2:
if(year%400==0||year%4==0&&year%100!
=0)days=29;
elsedays=28;
cout<}(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。程序为:方法1:#includevoidmain(){inti,n;cin>>n;cout<<"n="<<"1";for(i=2;i<=n;){if(n%i==0){n=n/i;cout<<"*"<}i++;}cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
(8)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。
inti,n;
cin>>n;
cout<<"n="<<"1";
for(i=2;i<=n;)
if(n%i==0)
{n=n/i;
cout<<"*"<
i++;
cout<}方法2:#includevoidmain(){intn,i;cin>>n;cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
{intn,i;
cout<i=2;while(n>1){while(n%i==0){cout<<"*"<i++;}}9)求一个整数任意次方的最后三位数。程序为:#include#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
i=2;
while(n>1)
{while(n%i==0)
{cout<<"*"<
9)求一个整数任意次方的最后三位数。
#includeusingnamespacestd;intmain(){inta,b,n;cout<<"输入a,n:
"<>a>>n;cout<"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<}法2:#includevoidmain(){intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<}(10)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?程序为:#includevoidmain(){intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<}5.选择题(1)以下程序的输出结果是(C)。#includevoidmain(){inta=100,x=10,y=20,ok1=5,ok2=0;if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
"b=pow(a,n);b%=1000;if(b>=100)cout<=10)cout<<"0"<
法2:
{intx,n,p=1,i;cin>>x>>n;for(i=1;i<=n;i++)p=p*x%1000;cout<
(10)猴子吃桃问题。
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?
{intp=1,i;for(i=1;i<=9;i++)p=(p+1)*2;cout<
5.选择题
(1)以下程序的输出结果是(C)。
{inta=100,x=10,y=20,ok1=5,ok2=0;
if(xif(y!=10)if(!ok1)a=1;elseif(ok2)a=10;a=-1;cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
if(y!
=10)
ok1)a=1;
elseif(ok2)a=10;a=-1;
cou<C.-1D.值不确定)。B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
C.-1D.值不确定
B.if(x==y)x+=y;D.if(x}A.1B.02)以下不正确的if语句形式是(CA.if(x>y&&x!=y);C.if(x!=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。inta=0,b=0; while(!a!=0)b+=++a;cout<A.程序运行后输出C・程序执行无数次4)当a=1,if(aif(celsex=6;elsex=7;A•15)以下for
A.1B.0
2)以下不正确的if语句形式是(CA.if(x>y&&x!
=y);
C.if(x!
=y)cin>>xelsecin>>y;3)设有以下程序段,则(B)。
inta=0,b=0;
a!
=0)b+=++a;
A.程序运行后输出
C・程序执行无数次
4)当a=1,
if(a
if(celsex=6;elsex=7;A•15)以下for
elsex=6;
elsex=7;
A•1
5)以下for
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2