C++课后习题答案2习题及其解答第3版.docx
《C++课后习题答案2习题及其解答第3版.docx》由会员分享,可在线阅读,更多相关《C++课后习题答案2习题及其解答第3版.docx(22页珍藏版)》请在冰点文库上搜索。
C++课后习题答案2习题及其解答第3版
习题2及其解答
选择题
1.已知inti=0,x=1,y=0;在下列选项使i的值变成1的语句是(c)。
(a)if(x&&y)i++;(b)if(x==y)i++;
(c)if(x||y)i++;(d)if(!
x)i++;
2.设有函数关系为y=
,下面选项中能正确表示上述关系为(c)。
(a)y=1;(b)y=-1;
if(x>=0)if(x!
=0)
if(x==0)y=0;if(x>0)y=1;
elsey=-1;elsey=0;
%
(c)if(x<=0)(d)y=-1;
if(x<0)y=-1;if(x<=0)
elsey=0;if(x<0)y=-1;
elsey=1;elsey=1;
3.假设i=2,执行下列语句后i的值为(b)。
switch(i)
{case1:
i++;
case2:
i--;
case3:
++i;break;
case4:
--i;
*
default:
}
(a)1(b)2(c)3(d)4
4.已知inti=0,x=0;下面while语句执行时循环次数为(d)。
while(!
x&&i<3){x++;i++;}
(a)4(b)3(c)2(d)1
5.已知inti=3;下面do_while语句执行时循环次数为(b)。
do{i--;cout<
=1);
(a)1(b)2(c)3(d)无限
6.下面for语句执行时循环次数为(b)。
¥
inti;
for(i=0,j=5;i=j;)
{cout<
i++;j--;
(a)0(b)5(c)10(d)无限
7.以下死循环的程序段是(b)。
(a)intx;for(intx=0;x<3;){x++;};
(b)intk=0;do{++k;}while(k>=0);
(c)inta=5;while(a){a--;};
《
(d)inti=3;for(;i;i--);
阅读下列程序,写出执行结果
1.
#include
usingnamespacestd;
intmain()
{inta,b,c,d,x;
a=c=0;b=1;d=20;
if(a)d=d-10;
elseif(!
b)
》
if(!
c)
x=15;
elsex=25;
cout<}【解答】202.#includeusingnamespacestd;@intmain(){inta=0,b=1;switch(a){case0:switch(b){case0:cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}[【解答】a=0b=1a=1b=23.#includeusingnamespacestd;intmain(){inti=1;while(i<=10)if(++i%3!=1)#continue;elsecout<}【解答】47104.#includeusingnamespacestd;】intmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【解答】i=4j=1】5.#includeusingnamespacestd;intmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【解答】¥336.#includeusingnamespacestd;intmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;~case2:s+=i;break;default:s+=2;}cout<<"s="<}【解答】s=77.#includeusingnamespacestd;,intmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}》cout<<"x="<}【解答】x=16思考题1.C++中有什么形式的选择控制语句归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。【解答】语句使用方式使用场合:if语句if(表达式)语句1;else语句2;需要对给定的条件进行判断,并根据判断的结果选择不同的操作。适用于复杂的条件表达式判断。switch语句switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;……[case常量表达式n;语句n;[default:语句n+1;]}根据整型表达式的不同值决定程序分支的情况。适用于判断表达式简单,需要多个分支处理的情况。演示程序:程序(1)什么叫循环控制归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。【解答】循环控制是在特定的条件下,程序重复执行一些特定动作。、语句语法执行流程使用场合while语句while(表达式)循环体;循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)、程序中常用于根据条件执行操作而不需关心循环次数的情况。先判断形式循环,条件不成立时不进入循环体。do-while语句do循环体while(表达式);循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)[程序中常用于根据条件执行操作而不需关心循环次数。后判断形式循环,至少执行1次循环体。一般情况,while语句和dowhile语句可以互换使用。for语句for([表达式1];[表达式2];[表达式3])循环体;(1)表达式1称为初始化表达式,不是循环体执行部分。@(2)表达式3称为后置表达式,作为循环体的最后一个执行表达式。(3)循环条件:表达式2值为非0(真)循环结束条件:表达式2值为0(假)for语句称为步长循环语句,通常用于确定循环次数的情况。由于语句的3个表达式均可以缺省,也可以用于条件循环,即循环次数不确定的情况。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。【解答】·略。4.用if语句和goto语句组织循环,改写思考题的第3小题编写的程序。分析在什么情况下可以适当使用goto语句。【解答】在不破坏程序基本流程控制的情况下,可以适当使用goto语句实现从语句结构内部向外的必要跳转,即按特定条件结束结构语句块的执行。程序略。5.有以下程序#includeusingnamespacestd;intmain(){charc;》cin>>c;if(c=='y'||c=='Y')inta=1;elseinta=0;cout<<"a="<}编译错误为:errorC2065:'a':undeclaredidentifier,指示语句行cout<<"a="<变量a没有定义。请分析原因,并做出修改。|【解答】程序在if和else分支中分别声明了各自的局部变量a,而执行输出语句时,声明的变量a作用域已经结束,所以编译器认为输出语句的a没有定义。正确的程序是:#includeusingnamespacestd;intmain(){charc;inta;cin>>c;if(c=='y'||c=='Y')a=1;]elsea=0;cout<<"a="<}6.有以下程序,希望判断两个输入的整数是否相等。程序通过编译,但不能达到预期结果。请分析程序能够通过C++编译而不能得到期望结果的原因。#includeusingnamespacestd;intmain(){inta,b;cout<<"a:";cin>>a;;cout<<"b:";cin>>b;if(a=b)cout<elsecout<}程序运行后,输入a的值为4,b的值为9,显示结果如下:a:4b:99等于9}【解答】在if语句的判断表达式(a=b)中,赋值号“=”应该是逻辑等“==”。从语法上,C++的if语句把a=b这个赋值表达式视为逻辑表达式,没有编译错误。a=b的值决定于b。若b的输入值不等于0,if作为逻辑真(true),否则作为逻辑假(false)。所以,题目中输入b的值虽然不等于a,但表达式a=b为逻辑true,执行了if语句的第1个分支。编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includeusingnamespacestd;intmain(){doublescore;*cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个整数,按从小到大的顺序输出它们的值。【解答】#includeusingnamespacestd;;intmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。.【解答】#includeusingnamespacestd;intmain(){doublea,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<》elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
【解答】
20
2.
@
{inta=0,b=1;
switch(a)
{case0:
switch(b)
cout<<"a="<case1:cout<<"a="<}case1:a++;b++;cout<<"a="<}}[【解答】a=0b=1a=1b=23.#includeusingnamespacestd;intmain(){inti=1;while(i<=10)if(++i%3!=1)#continue;elsecout<}【解答】47104.#includeusingnamespacestd;】intmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【解答】i=4j=1】5.#includeusingnamespacestd;intmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【解答】¥336.#includeusingnamespacestd;intmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;~case2:s+=i;break;default:s+=2;}cout<<"s="<}【解答】s=77.#includeusingnamespacestd;,intmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}》cout<<"x="<}【解答】x=16思考题1.C++中有什么形式的选择控制语句归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。【解答】语句使用方式使用场合:if语句if(表达式)语句1;else语句2;需要对给定的条件进行判断,并根据判断的结果选择不同的操作。适用于复杂的条件表达式判断。switch语句switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;……[case常量表达式n;语句n;[default:语句n+1;]}根据整型表达式的不同值决定程序分支的情况。适用于判断表达式简单,需要多个分支处理的情况。演示程序:程序(1)什么叫循环控制归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。【解答】循环控制是在特定的条件下,程序重复执行一些特定动作。、语句语法执行流程使用场合while语句while(表达式)循环体;循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)、程序中常用于根据条件执行操作而不需关心循环次数的情况。先判断形式循环,条件不成立时不进入循环体。do-while语句do循环体while(表达式);循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)[程序中常用于根据条件执行操作而不需关心循环次数。后判断形式循环,至少执行1次循环体。一般情况,while语句和dowhile语句可以互换使用。for语句for([表达式1];[表达式2];[表达式3])循环体;(1)表达式1称为初始化表达式,不是循环体执行部分。@(2)表达式3称为后置表达式,作为循环体的最后一个执行表达式。(3)循环条件:表达式2值为非0(真)循环结束条件:表达式2值为0(假)for语句称为步长循环语句,通常用于确定循环次数的情况。由于语句的3个表达式均可以缺省,也可以用于条件循环,即循环次数不确定的情况。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。【解答】·略。4.用if语句和goto语句组织循环,改写思考题的第3小题编写的程序。分析在什么情况下可以适当使用goto语句。【解答】在不破坏程序基本流程控制的情况下,可以适当使用goto语句实现从语句结构内部向外的必要跳转,即按特定条件结束结构语句块的执行。程序略。5.有以下程序#includeusingnamespacestd;intmain(){charc;》cin>>c;if(c=='y'||c=='Y')inta=1;elseinta=0;cout<<"a="<}编译错误为:errorC2065:'a':undeclaredidentifier,指示语句行cout<<"a="<变量a没有定义。请分析原因,并做出修改。|【解答】程序在if和else分支中分别声明了各自的局部变量a,而执行输出语句时,声明的变量a作用域已经结束,所以编译器认为输出语句的a没有定义。正确的程序是:#includeusingnamespacestd;intmain(){charc;inta;cin>>c;if(c=='y'||c=='Y')a=1;]elsea=0;cout<<"a="<}6.有以下程序,希望判断两个输入的整数是否相等。程序通过编译,但不能达到预期结果。请分析程序能够通过C++编译而不能得到期望结果的原因。#includeusingnamespacestd;intmain(){inta,b;cout<<"a:";cin>>a;;cout<<"b:";cin>>b;if(a=b)cout<elsecout<}程序运行后,输入a的值为4,b的值为9,显示结果如下:a:4b:99等于9}【解答】在if语句的判断表达式(a=b)中,赋值号“=”应该是逻辑等“==”。从语法上,C++的if语句把a=b这个赋值表达式视为逻辑表达式,没有编译错误。a=b的值决定于b。若b的输入值不等于0,if作为逻辑真(true),否则作为逻辑假(false)。所以,题目中输入b的值虽然不等于a,但表达式a=b为逻辑true,执行了if语句的第1个分支。编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includeusingnamespacestd;intmain(){doublescore;*cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个整数,按从小到大的顺序输出它们的值。【解答】#includeusingnamespacestd;;intmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。.【解答】#includeusingnamespacestd;intmain(){doublea,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<》elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
case1:
cout<<"a="<}case1:a++;b++;cout<<"a="<}}[【解答】a=0b=1a=1b=23.#includeusingnamespacestd;intmain(){inti=1;while(i<=10)if(++i%3!=1)#continue;elsecout<}【解答】47104.#includeusingnamespacestd;】intmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【解答】i=4j=1】5.#includeusingnamespacestd;intmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【解答】¥336.#includeusingnamespacestd;intmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;~case2:s+=i;break;default:s+=2;}cout<<"s="<}【解答】s=77.#includeusingnamespacestd;,intmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}》cout<<"x="<}【解答】x=16思考题1.C++中有什么形式的选择控制语句归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。【解答】语句使用方式使用场合:if语句if(表达式)语句1;else语句2;需要对给定的条件进行判断,并根据判断的结果选择不同的操作。适用于复杂的条件表达式判断。switch语句switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;……[case常量表达式n;语句n;[default:语句n+1;]}根据整型表达式的不同值决定程序分支的情况。适用于判断表达式简单,需要多个分支处理的情况。演示程序:程序(1)什么叫循环控制归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。【解答】循环控制是在特定的条件下,程序重复执行一些特定动作。、语句语法执行流程使用场合while语句while(表达式)循环体;循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)、程序中常用于根据条件执行操作而不需关心循环次数的情况。先判断形式循环,条件不成立时不进入循环体。do-while语句do循环体while(表达式);循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)[程序中常用于根据条件执行操作而不需关心循环次数。后判断形式循环,至少执行1次循环体。一般情况,while语句和dowhile语句可以互换使用。for语句for([表达式1];[表达式2];[表达式3])循环体;(1)表达式1称为初始化表达式,不是循环体执行部分。@(2)表达式3称为后置表达式,作为循环体的最后一个执行表达式。(3)循环条件:表达式2值为非0(真)循环结束条件:表达式2值为0(假)for语句称为步长循环语句,通常用于确定循环次数的情况。由于语句的3个表达式均可以缺省,也可以用于条件循环,即循环次数不确定的情况。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。【解答】·略。4.用if语句和goto语句组织循环,改写思考题的第3小题编写的程序。分析在什么情况下可以适当使用goto语句。【解答】在不破坏程序基本流程控制的情况下,可以适当使用goto语句实现从语句结构内部向外的必要跳转,即按特定条件结束结构语句块的执行。程序略。5.有以下程序#includeusingnamespacestd;intmain(){charc;》cin>>c;if(c=='y'||c=='Y')inta=1;elseinta=0;cout<<"a="<}编译错误为:errorC2065:'a':undeclaredidentifier,指示语句行cout<<"a="<变量a没有定义。请分析原因,并做出修改。|【解答】程序在if和else分支中分别声明了各自的局部变量a,而执行输出语句时,声明的变量a作用域已经结束,所以编译器认为输出语句的a没有定义。正确的程序是:#includeusingnamespacestd;intmain(){charc;inta;cin>>c;if(c=='y'||c=='Y')a=1;]elsea=0;cout<<"a="<}6.有以下程序,希望判断两个输入的整数是否相等。程序通过编译,但不能达到预期结果。请分析程序能够通过C++编译而不能得到期望结果的原因。#includeusingnamespacestd;intmain(){inta,b;cout<<"a:";cin>>a;;cout<<"b:";cin>>b;if(a=b)cout<elsecout<}程序运行后,输入a的值为4,b的值为9,显示结果如下:a:4b:99等于9}【解答】在if语句的判断表达式(a=b)中,赋值号“=”应该是逻辑等“==”。从语法上,C++的if语句把a=b这个赋值表达式视为逻辑表达式,没有编译错误。a=b的值决定于b。若b的输入值不等于0,if作为逻辑真(true),否则作为逻辑假(false)。所以,题目中输入b的值虽然不等于a,但表达式a=b为逻辑true,执行了if语句的第1个分支。编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includeusingnamespacestd;intmain(){doublescore;*cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个整数,按从小到大的顺序输出它们的值。【解答】#includeusingnamespacestd;;intmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。.【解答】#includeusingnamespacestd;intmain(){doublea,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<》elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
a++;b++;cout<<"a="<}}[【解答】a=0b=1a=1b=23.#includeusingnamespacestd;intmain(){inti=1;while(i<=10)if(++i%3!=1)#continue;elsecout<}【解答】47104.#includeusingnamespacestd;】intmain(){inti=0,j=5;do{i++;j--;if(i>3)break;}while(j>0);cout<<"i="<}【解答】i=4j=1】5.#includeusingnamespacestd;intmain(){inti,j;for(i=1,j=5;i{j--;}cout<}【解答】¥336.#includeusingnamespacestd;intmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;~case2:s+=i;break;default:s+=2;}cout<<"s="<}【解答】s=77.#includeusingnamespacestd;,intmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}》cout<<"x="<}【解答】x=16思考题1.C++中有什么形式的选择控制语句归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。【解答】语句使用方式使用场合:if语句if(表达式)语句1;else语句2;需要对给定的条件进行判断,并根据判断的结果选择不同的操作。适用于复杂的条件表达式判断。switch语句switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;……[case常量表达式n;语句n;[default:语句n+1;]}根据整型表达式的不同值决定程序分支的情况。适用于判断表达式简单,需要多个分支处理的情况。演示程序:程序(1)什么叫循环控制归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。【解答】循环控制是在特定的条件下,程序重复执行一些特定动作。、语句语法执行流程使用场合while语句while(表达式)循环体;循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)、程序中常用于根据条件执行操作而不需关心循环次数的情况。先判断形式循环,条件不成立时不进入循环体。do-while语句do循环体while(表达式);循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)[程序中常用于根据条件执行操作而不需关心循环次数。后判断形式循环,至少执行1次循环体。一般情况,while语句和dowhile语句可以互换使用。for语句for([表达式1];[表达式2];[表达式3])循环体;(1)表达式1称为初始化表达式,不是循环体执行部分。@(2)表达式3称为后置表达式,作为循环体的最后一个执行表达式。(3)循环条件:表达式2值为非0(真)循环结束条件:表达式2值为0(假)for语句称为步长循环语句,通常用于确定循环次数的情况。由于语句的3个表达式均可以缺省,也可以用于条件循环,即循环次数不确定的情况。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。【解答】·略。4.用if语句和goto语句组织循环,改写思考题的第3小题编写的程序。分析在什么情况下可以适当使用goto语句。【解答】在不破坏程序基本流程控制的情况下,可以适当使用goto语句实现从语句结构内部向外的必要跳转,即按特定条件结束结构语句块的执行。程序略。5.有以下程序#includeusingnamespacestd;intmain(){charc;》cin>>c;if(c=='y'||c=='Y')inta=1;elseinta=0;cout<<"a="<}编译错误为:errorC2065:'a':undeclaredidentifier,指示语句行cout<<"a="<变量a没有定义。请分析原因,并做出修改。|【解答】程序在if和else分支中分别声明了各自的局部变量a,而执行输出语句时,声明的变量a作用域已经结束,所以编译器认为输出语句的a没有定义。正确的程序是:#includeusingnamespacestd;intmain(){charc;inta;cin>>c;if(c=='y'||c=='Y')a=1;]elsea=0;cout<<"a="<}6.有以下程序,希望判断两个输入的整数是否相等。程序通过编译,但不能达到预期结果。请分析程序能够通过C++编译而不能得到期望结果的原因。#includeusingnamespacestd;intmain(){inta,b;cout<<"a:";cin>>a;;cout<<"b:";cin>>b;if(a=b)cout<elsecout<}程序运行后,输入a的值为4,b的值为9,显示结果如下:a:4b:99等于9}【解答】在if语句的判断表达式(a=b)中,赋值号“=”应该是逻辑等“==”。从语法上,C++的if语句把a=b这个赋值表达式视为逻辑表达式,没有编译错误。a=b的值决定于b。若b的输入值不等于0,if作为逻辑真(true),否则作为逻辑假(false)。所以,题目中输入b的值虽然不等于a,但表达式a=b为逻辑true,执行了if语句的第1个分支。编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includeusingnamespacestd;intmain(){doublescore;*cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个整数,按从小到大的顺序输出它们的值。【解答】#includeusingnamespacestd;;intmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。.【解答】#includeusingnamespacestd;intmain(){doublea,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<》elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
[
a=0b=1
a=1b=2
3.
{inti=1;
while(i<=10)
if(++i%3!
=1)
#
continue;
elsecout<
4
7
10
4.
】
{inti=0,j=5;
do
{i++;j--;
if(i>3)break;
}while(j>0);
cout<<"i="<
i=4j=1
5.
{inti,j;
for(i=1,j=5;i{j--;}cout<}【解答】¥336.#includeusingnamespacestd;intmain(){inti,s=0;for(i=0;i<5;i++)switch(i){case0:s+=i;break;case1:s+=i;break;~case2:s+=i;break;default:s+=2;}cout<<"s="<}【解答】s=77.#includeusingnamespacestd;,intmain(){inti,j,x=0;for(i=0;i<=3;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;}》cout<<"x="<}【解答】x=16思考题1.C++中有什么形式的选择控制语句归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。【解答】语句使用方式使用场合:if语句if(表达式)语句1;else语句2;需要对给定的条件进行判断,并根据判断的结果选择不同的操作。适用于复杂的条件表达式判断。switch语句switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;……[case常量表达式n;语句n;[default:语句n+1;]}根据整型表达式的不同值决定程序分支的情况。适用于判断表达式简单,需要多个分支处理的情况。演示程序:程序(1)什么叫循环控制归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。【解答】循环控制是在特定的条件下,程序重复执行一些特定动作。、语句语法执行流程使用场合while语句while(表达式)循环体;循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)、程序中常用于根据条件执行操作而不需关心循环次数的情况。先判断形式循环,条件不成立时不进入循环体。do-while语句do循环体while(表达式);循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)[程序中常用于根据条件执行操作而不需关心循环次数。后判断形式循环,至少执行1次循环体。一般情况,while语句和dowhile语句可以互换使用。for语句for([表达式1];[表达式2];[表达式3])循环体;(1)表达式1称为初始化表达式,不是循环体执行部分。@(2)表达式3称为后置表达式,作为循环体的最后一个执行表达式。(3)循环条件:表达式2值为非0(真)循环结束条件:表达式2值为0(假)for语句称为步长循环语句,通常用于确定循环次数的情况。由于语句的3个表达式均可以缺省,也可以用于条件循环,即循环次数不确定的情况。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。【解答】·略。4.用if语句和goto语句组织循环,改写思考题的第3小题编写的程序。分析在什么情况下可以适当使用goto语句。【解答】在不破坏程序基本流程控制的情况下,可以适当使用goto语句实现从语句结构内部向外的必要跳转,即按特定条件结束结构语句块的执行。程序略。5.有以下程序#includeusingnamespacestd;intmain(){charc;》cin>>c;if(c=='y'||c=='Y')inta=1;elseinta=0;cout<<"a="<}编译错误为:errorC2065:'a':undeclaredidentifier,指示语句行cout<<"a="<变量a没有定义。请分析原因,并做出修改。|【解答】程序在if和else分支中分别声明了各自的局部变量a,而执行输出语句时,声明的变量a作用域已经结束,所以编译器认为输出语句的a没有定义。正确的程序是:#includeusingnamespacestd;intmain(){charc;inta;cin>>c;if(c=='y'||c=='Y')a=1;]elsea=0;cout<<"a="<}6.有以下程序,希望判断两个输入的整数是否相等。程序通过编译,但不能达到预期结果。请分析程序能够通过C++编译而不能得到期望结果的原因。#includeusingnamespacestd;intmain(){inta,b;cout<<"a:";cin>>a;;cout<<"b:";cin>>b;if(a=b)cout<elsecout<}程序运行后,输入a的值为4,b的值为9,显示结果如下:a:4b:99等于9}【解答】在if语句的判断表达式(a=b)中,赋值号“=”应该是逻辑等“==”。从语法上,C++的if语句把a=b这个赋值表达式视为逻辑表达式,没有编译错误。a=b的值决定于b。若b的输入值不等于0,if作为逻辑真(true),否则作为逻辑假(false)。所以,题目中输入b的值虽然不等于a,但表达式a=b为逻辑true,执行了if语句的第1个分支。编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includeusingnamespacestd;intmain(){doublescore;*cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个整数,按从小到大的顺序输出它们的值。【解答】#includeusingnamespacestd;;intmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。.【解答】#includeusingnamespacestd;intmain(){doublea,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<》elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
{j--;}
cout<
33
6.
{inti,s=0;
for(i=0;i<5;i++)
s+=i;break;
~
s+=2;
cout<<"s="<
s=7
7.
,
{inti,j,x=0;
for(i=0;i<=3;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++;
cout<<"x="<}【解答】x=16思考题1.C++中有什么形式的选择控制语句归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。【解答】语句使用方式使用场合:if语句if(表达式)语句1;else语句2;需要对给定的条件进行判断,并根据判断的结果选择不同的操作。适用于复杂的条件表达式判断。switch语句switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;……[case常量表达式n;语句n;[default:语句n+1;]}根据整型表达式的不同值决定程序分支的情况。适用于判断表达式简单,需要多个分支处理的情况。演示程序:程序(1)什么叫循环控制归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。【解答】循环控制是在特定的条件下,程序重复执行一些特定动作。、语句语法执行流程使用场合while语句while(表达式)循环体;循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)、程序中常用于根据条件执行操作而不需关心循环次数的情况。先判断形式循环,条件不成立时不进入循环体。do-while语句do循环体while(表达式);循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)[程序中常用于根据条件执行操作而不需关心循环次数。后判断形式循环,至少执行1次循环体。一般情况,while语句和dowhile语句可以互换使用。for语句for([表达式1];[表达式2];[表达式3])循环体;(1)表达式1称为初始化表达式,不是循环体执行部分。@(2)表达式3称为后置表达式,作为循环体的最后一个执行表达式。(3)循环条件:表达式2值为非0(真)循环结束条件:表达式2值为0(假)for语句称为步长循环语句,通常用于确定循环次数的情况。由于语句的3个表达式均可以缺省,也可以用于条件循环,即循环次数不确定的情况。3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。【解答】·略。4.用if语句和goto语句组织循环,改写思考题的第3小题编写的程序。分析在什么情况下可以适当使用goto语句。【解答】在不破坏程序基本流程控制的情况下,可以适当使用goto语句实现从语句结构内部向外的必要跳转,即按特定条件结束结构语句块的执行。程序略。5.有以下程序#includeusingnamespacestd;intmain(){charc;》cin>>c;if(c=='y'||c=='Y')inta=1;elseinta=0;cout<<"a="<}编译错误为:errorC2065:'a':undeclaredidentifier,指示语句行cout<<"a="<变量a没有定义。请分析原因,并做出修改。|【解答】程序在if和else分支中分别声明了各自的局部变量a,而执行输出语句时,声明的变量a作用域已经结束,所以编译器认为输出语句的a没有定义。正确的程序是:#includeusingnamespacestd;intmain(){charc;inta;cin>>c;if(c=='y'||c=='Y')a=1;]elsea=0;cout<<"a="<}6.有以下程序,希望判断两个输入的整数是否相等。程序通过编译,但不能达到预期结果。请分析程序能够通过C++编译而不能得到期望结果的原因。#includeusingnamespacestd;intmain(){inta,b;cout<<"a:";cin>>a;;cout<<"b:";cin>>b;if(a=b)cout<elsecout<}程序运行后,输入a的值为4,b的值为9,显示结果如下:a:4b:99等于9}【解答】在if语句的判断表达式(a=b)中,赋值号“=”应该是逻辑等“==”。从语法上,C++的if语句把a=b这个赋值表达式视为逻辑表达式,没有编译错误。a=b的值决定于b。若b的输入值不等于0,if作为逻辑真(true),否则作为逻辑假(false)。所以,题目中输入b的值虽然不等于a,但表达式a=b为逻辑true,执行了if语句的第1个分支。编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includeusingnamespacestd;intmain(){doublescore;*cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个整数,按从小到大的顺序输出它们的值。【解答】#includeusingnamespacestd;;intmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。.【解答】#includeusingnamespacestd;intmain(){doublea,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<》elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
x=16
思考题
1.C++中有什么形式的选择控制语句归纳它们语法形式、应用场合。
根据一个实际问题使用不同的条件语句编程。
语句
使用方式
使用场合
:
if语句
if(表达式)语句1;
else语句2;
需要对给定的条件进行判断,并根据判断的结果选择不同的操作。
适用于复杂的条件表达式判断。
switch语句
switch(表达式)
{case常量表达式1:
语句1;
case常量表达式2:
语句2;
……
case常量表达式n;语句n;
[default:
语句n+1;]
根据整型表达式的不同值决定程序分支的情况。
适用于判断表达式简单,需要多个分支处理的情况。
演示程序:
程序
(1)
什么叫循环控制归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。
循环控制是在特定的条件下,程序重复执行一些特定动作。
、
语法
执行流程
while语句
while(表达式)
循环体;
循环条件:
表达式值为非0(真)
循环结束条件:
表达式值为0(假)
程序中常用于根据条件执行操作而不需关心循环次数的情况。
先判断形式循环,条件不成立时不进入循环体。
do-while语句
循环体
while(表达式);
程序中常用于根据条件执行操作而不需关心循环次数。
后判断形式循环,至少执行1次循环体。
一般情况,while语句和dowhile语句可以互换使用。
for语句
for([表达式1];[表达式2];[表达式3])
(1)表达式1称为初始化表达式,不是循环体执行部分。
(2)表达式3称为后置表达式,作为循环体的最后一个执行表达式。
(3)循环条件:
表达式2值为非0(真)
表达式2值为0(假)
for语句称为步长循环语句,通常用于确定循环次数的情况。
由于语句的3个表达式均可以缺省,也可以用于条件循环,即循环次数不确定的情况。
3.根据一个实际问题,用不同的循环语句编程,分析其优缺点。
·
略。
4.用if语句和goto语句组织循环,改写思考题的第3小题编写的程序。
分析在什么情况下可以适当使用goto语句。
在不破坏程序基本流程控制的情况下,可以适当使用goto语句实现从语句结构内部向外的必要跳转,即按特定条件结束结构语句块的执行。
程序略。
5.有以下程序
{charc;
cin>>c;
if(c=='y'||c=='Y')
inta=1;
else
inta=0;
cout<<"a="<}编译错误为:errorC2065:'a':undeclaredidentifier,指示语句行cout<<"a="<变量a没有定义。请分析原因,并做出修改。|【解答】程序在if和else分支中分别声明了各自的局部变量a,而执行输出语句时,声明的变量a作用域已经结束,所以编译器认为输出语句的a没有定义。正确的程序是:#includeusingnamespacestd;intmain(){charc;inta;cin>>c;if(c=='y'||c=='Y')a=1;]elsea=0;cout<<"a="<}6.有以下程序,希望判断两个输入的整数是否相等。程序通过编译,但不能达到预期结果。请分析程序能够通过C++编译而不能得到期望结果的原因。#includeusingnamespacestd;intmain(){inta,b;cout<<"a:";cin>>a;;cout<<"b:";cin>>b;if(a=b)cout<elsecout<}程序运行后,输入a的值为4,b的值为9,显示结果如下:a:4b:99等于9}【解答】在if语句的判断表达式(a=b)中,赋值号“=”应该是逻辑等“==”。从语法上,C++的if语句把a=b这个赋值表达式视为逻辑表达式,没有编译错误。a=b的值决定于b。若b的输入值不等于0,if作为逻辑真(true),否则作为逻辑假(false)。所以,题目中输入b的值虽然不等于a,但表达式a=b为逻辑true,执行了if语句的第1个分支。编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includeusingnamespacestd;intmain(){doublescore;*cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个整数,按从小到大的顺序输出它们的值。【解答】#includeusingnamespacestd;;intmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。.【解答】#includeusingnamespacestd;intmain(){doublea,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<》elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
编译错误为:
errorC2065:
'a':
undeclaredidentifier,指示语句行
cout<<"a="<变量a没有定义。请分析原因,并做出修改。|【解答】程序在if和else分支中分别声明了各自的局部变量a,而执行输出语句时,声明的变量a作用域已经结束,所以编译器认为输出语句的a没有定义。正确的程序是:#includeusingnamespacestd;intmain(){charc;inta;cin>>c;if(c=='y'||c=='Y')a=1;]elsea=0;cout<<"a="<}6.有以下程序,希望判断两个输入的整数是否相等。程序通过编译,但不能达到预期结果。请分析程序能够通过C++编译而不能得到期望结果的原因。#includeusingnamespacestd;intmain(){inta,b;cout<<"a:";cin>>a;;cout<<"b:";cin>>b;if(a=b)cout<elsecout<}程序运行后,输入a的值为4,b的值为9,显示结果如下:a:4b:99等于9}【解答】在if语句的判断表达式(a=b)中,赋值号“=”应该是逻辑等“==”。从语法上,C++的if语句把a=b这个赋值表达式视为逻辑表达式,没有编译错误。a=b的值决定于b。若b的输入值不等于0,if作为逻辑真(true),否则作为逻辑假(false)。所以,题目中输入b的值虽然不等于a,但表达式a=b为逻辑true,执行了if语句的第1个分支。编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includeusingnamespacestd;intmain(){doublescore;*cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个整数,按从小到大的顺序输出它们的值。【解答】#includeusingnamespacestd;;intmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。.【解答】#includeusingnamespacestd;intmain(){doublea,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<》elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
变量a没有定义。
请分析原因,并做出修改。
|
程序在if和else分支中分别声明了各自的局部变量a,而执行输出语句时,声明的变量a作用域已经结束,所以编译器认为输出语句的a没有定义。
正确的程序是:
inta;
a=1;
]
a=0;
cout<<"a="<}6.有以下程序,希望判断两个输入的整数是否相等。程序通过编译,但不能达到预期结果。请分析程序能够通过C++编译而不能得到期望结果的原因。#includeusingnamespacestd;intmain(){inta,b;cout<<"a:";cin>>a;;cout<<"b:";cin>>b;if(a=b)cout<elsecout<}程序运行后,输入a的值为4,b的值为9,显示结果如下:a:4b:99等于9}【解答】在if语句的判断表达式(a=b)中,赋值号“=”应该是逻辑等“==”。从语法上,C++的if语句把a=b这个赋值表达式视为逻辑表达式,没有编译错误。a=b的值决定于b。若b的输入值不等于0,if作为逻辑真(true),否则作为逻辑假(false)。所以,题目中输入b的值虽然不等于a,但表达式a=b为逻辑true,执行了if语句的第1个分支。编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includeusingnamespacestd;intmain(){doublescore;*cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个整数,按从小到大的顺序输出它们的值。【解答】#includeusingnamespacestd;;intmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。.【解答】#includeusingnamespacestd;intmain(){doublea,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<》elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
6.有以下程序,希望判断两个输入的整数是否相等。
程序通过编译,但不能达到预期结果。
请分析程序能够通过C++编译而不能得到期望结果的原因。
{inta,b;
cout<<"a:
";cin>>a;
;
cout<<"b:
";cin>>b;
if(a=b)
cout<elsecout<}程序运行后,输入a的值为4,b的值为9,显示结果如下:a:4b:99等于9}【解答】在if语句的判断表达式(a=b)中,赋值号“=”应该是逻辑等“==”。从语法上,C++的if语句把a=b这个赋值表达式视为逻辑表达式,没有编译错误。a=b的值决定于b。若b的输入值不等于0,if作为逻辑真(true),否则作为逻辑假(false)。所以,题目中输入b的值虽然不等于a,但表达式a=b为逻辑true,执行了if语句的第1个分支。编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includeusingnamespacestd;intmain(){doublescore;*cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个整数,按从小到大的顺序输出它们的值。【解答】#includeusingnamespacestd;;intmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。.【解答】#includeusingnamespacestd;intmain(){doublea,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<》elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
cout<}程序运行后,输入a的值为4,b的值为9,显示结果如下:a:4b:99等于9}【解答】在if语句的判断表达式(a=b)中,赋值号“=”应该是逻辑等“==”。从语法上,C++的if语句把a=b这个赋值表达式视为逻辑表达式,没有编译错误。a=b的值决定于b。若b的输入值不等于0,if作为逻辑真(true),否则作为逻辑假(false)。所以,题目中输入b的值虽然不等于a,但表达式a=b为逻辑true,执行了if语句的第1个分支。编程题1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。【解答】#includeusingnamespacestd;intmain(){doublescore;*cout<<"pleaseinputscore:";cin>>score;if(score>=85)cout<<"Verygood!";elseif(score>=60)cout<<"Good!";elsecout<<"Nogood!";}2.输入三个整数,按从小到大的顺序输出它们的值。【解答】#includeusingnamespacestd;;intmain(){inta,b,c,t;cout<<"a,b,c=";cin>>a>>b>>c;if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。.【解答】#includeusingnamespacestd;intmain(){doublea,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<》elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
程序运行后,输入a的值为4,b的值为9,显示结果如下:
a:
b:
9
9等于9
在if语句的判断表达式(a=b)中,赋值号“=”应该是逻辑等“==”。
从语法上,C++的if语句把a=b这个赋值表达式视为逻辑表达式,没有编译错误。
a=b的值决定于b。
若b的输入值不等于0,if作为逻辑真(true),否则作为逻辑假(false)。
所以,题目中输入b的值虽然不等于a,但表达式a=b为逻辑true,执行了if语句的第1个分支。
编程题
1.输入某学生成绩,若成绩在85分以上输出“verygood”,若成绩在60分到85分之间输出“good”,若成绩低于60分输出“nogood”。
{doublescore;
cout<<"pleaseinputscore:
";
cin>>score;
if(score>=85)cout<<"Verygood!
elseif(score>=60)cout<<"Good!
elsecout<<"Nogood!
2.输入三个整数,按从小到大的顺序输出它们的值。
;
{inta,b,c,t;
cout<<"a,b,c=";
cin>>a>>b>>c;
if(a>b){t=a;a=b;b=t;}
if(a>c){t=a;a=c;c=t;}
if(b>c){t=b;b=c;c=t;}
cout<}3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。.【解答】#includeusingnamespacestd;intmain(){doublea,b,c;cout<<"a,b,c=";cin>>a>>b>>c;if(a+b>c&&b+c>a&&c+a>b){if(a==b&&b==c)cout<<"等边三角形!"<》elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。
.
{doublea,b,c;
if(a+b>c&&b+c>a&&c+a>b)
{if(a==b&&b==c)
cout<<"等边三角形!
"<》elseif(a==b||a==c||b==c)cout<<"等腰三角形!"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
elseif(a==b||a==c||b==c)
cout<<"等腰三角形!
"<elsecout<<"一般三角形!"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
elsecout<<"一般三角形!
"<}elsecout<<"不能形成三角形!"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
cout<<"不能形成三角形!
"<}4.输入百分制成绩,并把它转换成五级分制,转换公式为:【解答】<#includeusingnamespacestd;intmain(){doublescore;chargrade;cout<<"score=";cin>>score;if(score>=0&&score<=100){switch(int(score)/10){case10:case9:grade='a';break;~case8:grade='b';break;case7:grade='c';break;case6:grade='d';break;case5:case4:case3:case2:case1:case0:grade='e';break;}、}else{cout<<"数据输入错误!"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
4.输入百分制成绩,并把它转换成五级分制,转换公式为:
<
{doublescore;chargrade;
cout<<"score=";
if(score>=0&&score<=100)
{switch(int(score)/10)
{case10:
case9:
grade='a';break;
case8:
grade='b';break;
case7:
grade='c';break;
case6:
grade='d';break;
case5:
case0:
grade='e';break;
{cout<<"数据输入错误!
"<gotoend;}cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
gotoend;
cout<end:;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
end:
;<case'r':cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
case'r':
cout<<"Scissoriscrushedbyrock."<case'p':cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
case'p':
cout<<"Scissorcutspaper."<default:cout<<"secondinputerror!"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
cout<<"secondinputerror!
"<`}case'r':switch(second){case's':cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
`
switch(second)
{case's':
cout<<"Rockcrushesscissor."<case'r':cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
cout<<"Rocktiesrock."<case'p':cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
cout<<"Rockiswrappedbypaper."<default:cout<<"secondinputerror!"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
"<}case'p':switch(second)@{case's':cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
cout<<"Paperiscutbyscissor."<case'r':cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
cout<<"Paperwrapstherock."<case'p':cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
cout<<"Papertiespaper."<default:cout<<"secondinputerror!"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
"<}default:cout<<"Firstinputerror!"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
cout<<"Firstinputerror!
"<}end:;}6.输入一个整数,输出该整数的所有素数因子。例如,输入120,输出为2、2、2、3和5。—【解答】#includeusingnamespacestd;intmain(){intm,i=2;cout<<"pleaseinputm:";cin>>m;while(i<=m)if(m%i==0){cout<:m=m/i;}elsei++;}7.使用迭代公式编程序求某一正整数a的平方根。【解答】#include#includeusingnamespacestd;intmain(),{constdoubleeps=1e-8;doublea,x0,x;cout<<"pleaseinputa:";cin>>a;x0=a/2;x=(x0+a/x0)/2;while(fabs(x-x0)>eps){x0=x;x=(x0+a/x0)/2;}cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
6.输入一个整数,输出该整数的所有素数因子。
例如,输入120,输出为2、2、2、3和5。
—
{intm,i=2;
cout<<"pleaseinputm:
cin>>m;
while(i<=m)
if(m%i==0)
m=m/i;
elsei++;
7.使用迭代公式
编程序求某一正整数a的平方根。
{constdoubleeps=1e-8;
doublea,x0,x;
cout<<"pleaseinputa:
cin>>a;
x0=a/2;
x=(x0+a/x0)/2;
while(fabs(x-x0)>eps)
{x0=x;x=(x0+a/x0)/2;
cout<。}8.已知X=0,10,20,…,180,求sinx,cosx和tanx的值。【解答】#include#include#includeusingnamespacestd;intmain(){constdoublepi=3.;inti;!doublex,y1,y2,y3;cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
。
8.已知X=0
,10
,20
,…,180
,求sinx,cosx和tanx的值。
{constdoublepi=3.;
!
doublex,y1,y2,y3;
cout<(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
(2)<<"x"<<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
<<"cos(x)"<for(i=0;i<=18;i++){x=i*10*pi/180;y1=sin(x);y2=cos(x);y3=y1/y2;cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
for(i=0;i<=18;i++)
{x=i*10*pi/180;
y1=sin(x);
y2=cos(x);
y3=y1/y2;
cout<(2)<<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
(2)<
<—}}9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。【解答】#includeusingnamespacestd;intmain(){inti;for(i=100;i<=200;i++)|{if((i%3==2)&&(i%5==3)&&(i%7==2))cout<}}10.求100到999中的水仙花数。所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。例如,因为153=1+5+3,所以153为水仙花数。【解答】#includeusingnamespacestd;intmain()《{inti,a,b,c;for(i=100;i<=999;i++){a=i/100;b=(i-a*100)/10;c=i-a*100-b*10;if(i==a*a*a+b*b*b+c*c*c)cout<}}11.求1000之内的所有完数。所谓完数是指一个数恰好等于它的所有因子之和。例如,因为6=1+2+3,所以6为完数。【解答】《#includeusingnamespacestd;intmain(){inti,j,s;for(i=1;i<=1000;i++){s=0;for(j=1;jif(i%j==0)s=s+j;if(i==s)cout<}}12.编一程序显示由符号组成的三角形图案。例如,程序运行后,屏幕显示:Howmanylines用户输入:5屏幕显示:Whatcharacter用户输入:*则输出如下图案。*************************【解答】#includeusingnamespacestd;intmain(){inti,j,k,n;charch;cout<<"Howmanylines\n";cin>>n;cout<<"Whatcharacter\n";cin>>ch;for(i=1;i<=n;i++){for(k=1;k<=n-i;k++)cout<<"";for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
9.在100到200中找出同时满足用3除余2,用5除余3和用7除余2的所有整数。
{inti;
for(i=100;i<=200;i++)
{if((i%3==2)&&(i%5==3)&&(i%7==2))
10.求100到999中的水仙花数。
所谓水仙花数是指一个三位数,它的每位数字的立方之和等于该数。
例如,因为153=1
+5
+3
,所以153为水仙花数。
{inti,a,b,c;
for(i=100;i<=999;i++)
{a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if(i==a*a*a+b*b*b+c*c*c)cout<
11.求1000之内的所有完数。
所谓完数是指一个数恰好等于它的所有因子之和。
例如,因为6=1+2+3,所以6为完数。
{inti,j,s;
for(i=1;i<=1000;i++)
{s=0;
for(j=1;j
if(i%j==0)s=s+j;
if(i==s)cout<
12.编一程序显示由符号组成的三角形图案。
例如,程序运行后,
屏幕显示:
Howmanylines
用户输入:
5
Whatcharacter
则输出如下图案。
***
*****
*******
*********
{inti,j,k,n;
charch;
cout<<"Howmanylines\n";
cin>>n;
cout<<"Whatcharacter\n";
cin>>ch;
for(i=1;i<=n;i++)
{for(k=1;k<=n-i;k++)cout<<"";
for(j=1;j<=2*i-1;j++)cout<cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
cout<}}13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。【解答】#includeusingnamespacestd;intmain(){intx,y,z,i;for(x=1;x<=9;x++)for(y=1;y<=9;y++)for(z=0;z<=9;z++){i=100*x+10*y+z+100*y+10*z+z;if(i==
13.已知XYZ+YZZ=532,其中X,Y和Z为数字,编一程序求出X,Y和Z的值。
{intx,y,z,i;
for(x=1;x<=9;x++)
for(y=1;y<=9;y++)
for(z=0;z<=9;z++)
{i=100*x+10*y+z+100*y+10*z+z;
if(i==
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2