您好,欢迎访问三七文档
1.题目:求多项式1!+2!+3!+……+15!的值并存入变量out中.#includeiostream.hintmain(){intf=1,sum=0,i;for(i=1;i=15;i++){f*=i;sum+=f;}coutsumendl;return0;}2.题目:求1至200之间的所有质数,将质数和存入变量sum中.#includeiostream.hintmain(){intsum=0,i,j;for(i=2;i=200;i++){for(j=2;j=i;j++){if(i%j==0)break;}if(j=i){sum+=i;couti;}}coutendl;coutsum=sumendl;return0;}3.题目:用while循环编程,求自然数1至100之间各奇数平方和sum。#includeiostream.hintmain(){inta=1,s,sum=0;while(a=100){s=(a*a);sum+=s;a+=2;}coutsum=sumendl;return0;}4.题目:判断一个数23437是否是素数(要求程序中设置一个参数flag,flag为1代表是素数,为0代表不是)#includeiostream.h#includecmathintmain(){intp=23437,s,j,flag;s=int(sqrt(p));for(j=1;j=s;j++){if(p%j==0)break;}if(js){flag=1;coutflag=flag\t23437是素数endl;}else{flag=0;coutflag=flag\t23437不是素数endl;}return0;}5.题目:已知一个数m(=252)求各位数字之和#includeiostream.hintmain(){intm=252,a,sum=0;do{a=m%10;sum+=a;m/=10;}while(a0);cout各位数的和sum=sumendl;return0;}6.题目:将1-100之间奇数顺序累加存入n中,直到其和等于或大于200为止#includeiostream.hintmain(){intn=0,i=1;while(n200){n+=i;i+=2;}coutnendl;return0;}7.题目:用“辗转相除方法”计算两个数x,y的最大公约数#includeiostream.hintmain(){intx,y,t,r;cout请输入两个正数:;cinxy;if(xy){t=x;x=y;y=t;}while((r=x%y)!=0){x=y;y=r;}cout最大公约数为:yendl;return0;}8.题目:已知三个数a,b,c,按由小到大的顺序存入a,b,c中并输出。#includeiostream.hintmain(){floata,b,c,t,x,y;cout输入三个数endl;cinabc;if(ab){t=a;a=b;b=t;}if(ca){x=c;c=b;b=a;a=x;}elseif(cb){y=b;b=c;c=y;}coutabcendl;return0;}9.题目:已知n,计算n以内的所有素数之和sum。#includeiostream.hintmain(){intn,sum=0,i,j;cout请输入正整数n:endl;cinn;for(i=2;i=n;i++){for(j=2;j=i;j++){if(i%j==0)break;}if(j=i)sum+=i;}coutn以内所有素数和sum=sumendl;return0;}10.题目:打印水仙花数及个数n(水仙花数是三位数,每位数字的立方和等于这个数本身示例见图1)。#includeiostream.hintmain(){inti,j,k,m,n,a=0;cout水仙花数:;for(i=1;i=9;i++)for(j=0;j=9;j++)for(k=0;k=9;k++){m=i*i*i+j*j*j+k*k*k;n=i*100+j*10+k;if(m==n){coutn;a++;}}coutendl;cout水仙花个数:aendl;return0;}11.题目:找出1-200之间的完数及个数n(完数是一个数的因子之和是这个数本身。例如6=1+2+3)。#includeiostream.hintmain(){cout1~200内的完数:endl;inti,j,n=0;for(i=2;i=200;i++){intsum=0;for(j=1;ji;j++){if(i%j==0)sum+=j;}if(sum==i){couti;n++;}}coutendl;coutnendl;return0;}12.题目:编写一个C++函数max,输入参数为3个实数,输出为其中的最大数。#includeiostream.hfloatmain(){doublea,b,c,x;cout输入三个实数:a,b,cendl;cinabc;if(ab)x=b;elsex=a;if(xc)x=c;cout最大的为:xendl;return0;}13.题目:编写一个函数:intisSushu(intn),判断n是否是素数。#includeiostream.h#includecmathintisSushu(intn);intmain(){intx,n;cout请输入一个正整数:nendl;cinn;x=isSushu(n);if(x==1)cout是素数endl;elsecout不是素数endl;return0;}intisSushu(intn){ints,i,flag=0;if(n=2){s=int(sqrt(n));for(i=2;i=s;i++){if(n%i==0)break;}if(is)flag=1;}return(flag);}///14.题目:从键盘中分别给两个整形变量x和y赋值为20和10,通过编程使它们的值交换,然后输出交换以后的x和y的值。15.题目:利用switch语句将输入的百分制成绩转换成相应的等级。成绩等级100~90优秀89~80良好79~70中等69~60及格59~0不及格#includeiostream.hintmain(){doublescore;cout请输入百分制分数:endl;cinscore;if(0=score&&score=100)switch(int(score)/10){case10:case9:coutscore优秀endl;break;case8:coutscore良好endl;break;case7:coutscore中等endl;break;case6:coutscore及格endl;break;default:coutscore不及格endl;}elsecout分数有误endl;return0;}16.题目:输入一个自然数num,将该数的每一位数字按反序输出digital。例如:输入123456,输出654321。(要求输入123456)#includeiostream.hmain(){unsignedlongintnum,digital=0,i=1;cout输入一个自然数:endl;cinnum;while(num/i!=0){digital=((num/i)%10);i*=10;coutdigital;}coutendl;return0;}17.题目:利用循环语句输出“九九乘法表”。#includeiostream.hintmain(){cout\t\t\t\t九九乘法表endl;cout\t\t\t\t----------endl;inti,j;for(i=1;i=9;i++){for(j=1;j=9;j++)coutixj=i*j\t;coutendl;}return0;}18.题目:利用for循环和break语句实现:从键盘上输入若干个(小于10个)正整数,直到输入负数为止,计算并输出已输入的正整数之和。(要求输入:10,3,9,27,12,-5)#includeiostream.hintmain(){cout请输入:10,3,9,27,12,-5。数字之间以空格分开endl;inti,a,add=0;for(i=1;i=10;i++){cina;if(a=0)add+=a;elsebreak;}cout所有正整数之和为:addendl;return0;}19.题目:利用for循环和continue语句实现:输出100~200之间所有能够被8整除的所有整数。#includeiostream.hintmain(){inti;cout100~200之间能被8整除的说有整数:endl;for(i=100;i=200;i++){if(i%8==0)couti;elsecontinue;}coutendl;return0;}20.题目:输入x,计算sin(x)。计算公式如图片1所示.当第n项的绝对值小于1e-8时结束,x为弧度,并调用标准函数sin(x)与求出值进行比较。(要求输入3.14)#includeiostream.h#includecmathintmain(){intn=1;doublex,sinx=0,t;cout输入x的值(弧度制):endl;cinx;t=x;while(fabs(t)=1e-8)//fabs:取绝对值。{sinx+=t;t=-t*(x*x)/((n+1)*(n+2));n+=2;}cout编程求得sin(x)=sinxendl;cout调用标准函数求得sin(x)=sin(x)endl;return0;}21.题目:从键盘上输入a、b、c,计算并输出一元二次方程的解。#includeiostream.h#includecmathintmain(){doublea,b,c,x1,x2,k;cout输入二元方程系数:a,b,cendl;cinabc;k=b*b-4*a*c;if(k=0){x1=(-b+sqrt(k))/(2*a);x2=(-b-sqrt(k))/(2*a);coutx1=x1\tx2=x2endl;}elsecout方程无解endl;return0;}22.题目:某百货公司为了促销,采用购物打折的优惠办法。每位顾客一次购物:(1)在1000元及以上者,按九折优惠(2)在2000元及以上者,按八折优惠(3)在3000元及以上者,按七折优惠(4)在4000元及以上者,按六折优惠#includeiostream.hintmain(){intmoney;cout输入购物金额(整数)(元):endl;cinmoney;if(money=0)switch(money/1000){case0:cout不优惠\t金额为:money;break;case1:cout九折优惠\t金额为:money*0.9;break;case2:cout八折优惠\t金额为:money*0.8;break;case3:cout七折优惠\t金额为:money*0
本文标题:期末复习题答案
链接地址:https://www.777doc.com/doc-2376837 .html