C课后知识题目解析2知识题及其解答第3版.docx
《C课后知识题目解析2知识题及其解答第3版.docx》由会员分享,可在线阅读,更多相关《C课后知识题目解析2知识题及其解答第3版.docx(20页珍藏版)》请在冰豆网上搜索。
C课后知识题目解析2知识题及其解答第3版
习题2及其解答
2.1选择题
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--);
2.2阅读下列程序,写出执行结果
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=15.#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=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。【解答】语句使用方式使用场合if语句if(表达式)语句1;else语句2;需要对给定的条件进行判断,并根据判断的结果选择不同的操作。适用于复杂的条件表达式判断。switch语句switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;……case常量表达式n;语句n;[default:语句n+1;]}根据整型表达式的不同值决定程序分支的情况。适用于判断表达式简单,需要多个分支处理的情况。演示程序:程序(1)//此程序用if输出等级对应的分数段//A->=90,B-(90,80],C-(80,70],D-(70,60],,E-<60#includeusingnamespacestd;intmain(){chargd;cout<<"Enterthegrade:";cin>>gd;//直到输入有效等级,否则程序不继续运行while(!((gd>='A'&&gd<='E')||(gd>='a'&&gd<='e'))){cout<<"Invalidgrade!Pleaseretry:";cin>>gd;}if(gd=='A'||gd=='a')cout<<"\nScored90-100!\n";elseif(gd=='B'||gd=='b')cout<<"\nScored80-89!\n";elseif(gd=='C'||gd=='c')cout<<"\nScored70-79!\n";elseif(gd=='D'||gd=='d')cout<<"\nScored60-69!\n";elseif(gd=='E'||gd=='e')cout<<"\nScoreunder60!\n";elsecout<<"Unexpecterror!\n";//防止意外错误}程序(2)//此程序用switch输出等级对应的分数段//A->=90,B-(90,80],C-(80,70],D-(70,60],,E-<60#includeusingnamespacestd;intmain(){chargd;cout<<"Enterthegrade:";cin>>gd;//直到输入有效等级,否则程序不继续运行while(!((gd>='A'&&gd<='E')||(gd>='a'&&gd<='e'))){cout<<"Invalidgrade!Pleaseretry:";cin>>gd;}switch(gd){case'A':case'a':cout<<"\nScored90-100!\n";break;case'B':case'b':cout<<"\nScored80-89!\n";break;case'C':case'c':cout<<"\nScored70-79!\n";break;case'D':case'd':cout<<"\nScored60-69!\n";break;case'E':case'e':cout<<"\nScoreunder60!\n";break;default:cout<<"Unexpecterror!\n";//防止意外错误}}2.什么叫循环控制?归纳比较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个分支。2.4编程题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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
【解答】
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=15.#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=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。【解答】语句使用方式使用场合if语句if(表达式)语句1;else语句2;需要对给定的条件进行判断,并根据判断的结果选择不同的操作。适用于复杂的条件表达式判断。switch语句switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;……case常量表达式n;语句n;[default:语句n+1;]}根据整型表达式的不同值决定程序分支的情况。适用于判断表达式简单,需要多个分支处理的情况。演示程序:程序(1)//此程序用if输出等级对应的分数段//A->=90,B-(90,80],C-(80,70],D-(70,60],,E-<60#includeusingnamespacestd;intmain(){chargd;cout<<"Enterthegrade:";cin>>gd;//直到输入有效等级,否则程序不继续运行while(!((gd>='A'&&gd<='E')||(gd>='a'&&gd<='e'))){cout<<"Invalidgrade!Pleaseretry:";cin>>gd;}if(gd=='A'||gd=='a')cout<<"\nScored90-100!\n";elseif(gd=='B'||gd=='b')cout<<"\nScored80-89!\n";elseif(gd=='C'||gd=='c')cout<<"\nScored70-79!\n";elseif(gd=='D'||gd=='d')cout<<"\nScored60-69!\n";elseif(gd=='E'||gd=='e')cout<<"\nScoreunder60!\n";elsecout<<"Unexpecterror!\n";//防止意外错误}程序(2)//此程序用switch输出等级对应的分数段//A->=90,B-(90,80],C-(80,70],D-(70,60],,E-<60#includeusingnamespacestd;intmain(){chargd;cout<<"Enterthegrade:";cin>>gd;//直到输入有效等级,否则程序不继续运行while(!((gd>='A'&&gd<='E')||(gd>='a'&&gd<='e'))){cout<<"Invalidgrade!Pleaseretry:";cin>>gd;}switch(gd){case'A':case'a':cout<<"\nScored90-100!\n";break;case'B':case'b':cout<<"\nScored80-89!\n";break;case'C':case'c':cout<<"\nScored70-79!\n";break;case'D':case'd':cout<<"\nScored60-69!\n";break;case'E':case'e':cout<<"\nScoreunder60!\n";break;default:cout<<"Unexpecterror!\n";//防止意外错误}}2.什么叫循环控制?归纳比较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个分支。2.4编程题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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
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=15.#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=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。【解答】语句使用方式使用场合if语句if(表达式)语句1;else语句2;需要对给定的条件进行判断,并根据判断的结果选择不同的操作。适用于复杂的条件表达式判断。switch语句switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;……case常量表达式n;语句n;[default:语句n+1;]}根据整型表达式的不同值决定程序分支的情况。适用于判断表达式简单,需要多个分支处理的情况。演示程序:程序(1)//此程序用if输出等级对应的分数段//A->=90,B-(90,80],C-(80,70],D-(70,60],,E-<60#includeusingnamespacestd;intmain(){chargd;cout<<"Enterthegrade:";cin>>gd;//直到输入有效等级,否则程序不继续运行while(!((gd>='A'&&gd<='E')||(gd>='a'&&gd<='e'))){cout<<"Invalidgrade!Pleaseretry:";cin>>gd;}if(gd=='A'||gd=='a')cout<<"\nScored90-100!\n";elseif(gd=='B'||gd=='b')cout<<"\nScored80-89!\n";elseif(gd=='C'||gd=='c')cout<<"\nScored70-79!\n";elseif(gd=='D'||gd=='d')cout<<"\nScored60-69!\n";elseif(gd=='E'||gd=='e')cout<<"\nScoreunder60!\n";elsecout<<"Unexpecterror!\n";//防止意外错误}程序(2)//此程序用switch输出等级对应的分数段//A->=90,B-(90,80],C-(80,70],D-(70,60],,E-<60#includeusingnamespacestd;intmain(){chargd;cout<<"Enterthegrade:";cin>>gd;//直到输入有效等级,否则程序不继续运行while(!((gd>='A'&&gd<='E')||(gd>='a'&&gd<='e'))){cout<<"Invalidgrade!Pleaseretry:";cin>>gd;}switch(gd){case'A':case'a':cout<<"\nScored90-100!\n";break;case'B':case'b':cout<<"\nScored80-89!\n";break;case'C':case'c':cout<<"\nScored70-79!\n";break;case'D':case'd':cout<<"\nScored60-69!\n";break;case'E':case'e':cout<<"\nScoreunder60!\n";break;default:cout<<"Unexpecterror!\n";//防止意外错误}}2.什么叫循环控制?归纳比较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个分支。2.4编程题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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
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=15.#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=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。【解答】语句使用方式使用场合if语句if(表达式)语句1;else语句2;需要对给定的条件进行判断,并根据判断的结果选择不同的操作。适用于复杂的条件表达式判断。switch语句switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;……case常量表达式n;语句n;[default:语句n+1;]}根据整型表达式的不同值决定程序分支的情况。适用于判断表达式简单,需要多个分支处理的情况。演示程序:程序(1)//此程序用if输出等级对应的分数段//A->=90,B-(90,80],C-(80,70],D-(70,60],,E-<60#includeusingnamespacestd;intmain(){chargd;cout<<"Enterthegrade:";cin>>gd;//直到输入有效等级,否则程序不继续运行while(!((gd>='A'&&gd<='E')||(gd>='a'&&gd<='e'))){cout<<"Invalidgrade!Pleaseretry:";cin>>gd;}if(gd=='A'||gd=='a')cout<<"\nScored90-100!\n";elseif(gd=='B'||gd=='b')cout<<"\nScored80-89!\n";elseif(gd=='C'||gd=='c')cout<<"\nScored70-79!\n";elseif(gd=='D'||gd=='d')cout<<"\nScored60-69!\n";elseif(gd=='E'||gd=='e')cout<<"\nScoreunder60!\n";elsecout<<"Unexpecterror!\n";//防止意外错误}程序(2)//此程序用switch输出等级对应的分数段//A->=90,B-(90,80],C-(80,70],D-(70,60],,E-<60#includeusingnamespacestd;intmain(){chargd;cout<<"Enterthegrade:";cin>>gd;//直到输入有效等级,否则程序不继续运行while(!((gd>='A'&&gd<='E')||(gd>='a'&&gd<='e'))){cout<<"Invalidgrade!Pleaseretry:";cin>>gd;}switch(gd){case'A':case'a':cout<<"\nScored90-100!\n";break;case'B':case'b':cout<<"\nScored80-89!\n";break;case'C':case'c':cout<<"\nScored70-79!\n";break;case'D':case'd':cout<<"\nScored60-69!\n";break;case'E':case'e':cout<<"\nScoreunder60!\n";break;default:cout<<"Unexpecterror!\n";//防止意外错误}}2.什么叫循环控制?归纳比较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个分支。2.4编程题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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
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=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。【解答】语句使用方式使用场合if语句if(表达式)语句1;else语句2;需要对给定的条件进行判断,并根据判断的结果选择不同的操作。适用于复杂的条件表达式判断。switch语句switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;……case常量表达式n;语句n;[default:语句n+1;]}根据整型表达式的不同值决定程序分支的情况。适用于判断表达式简单,需要多个分支处理的情况。演示程序:程序(1)//此程序用if输出等级对应的分数段//A->=90,B-(90,80],C-(80,70],D-(70,60],,E-<60#includeusingnamespacestd;intmain(){chargd;cout<<"Enterthegrade:";cin>>gd;//直到输入有效等级,否则程序不继续运行while(!((gd>='A'&&gd<='E')||(gd>='a'&&gd<='e'))){cout<<"Invalidgrade!Pleaseretry:";cin>>gd;}if(gd=='A'||gd=='a')cout<<"\nScored90-100!\n";elseif(gd=='B'||gd=='b')cout<<"\nScored80-89!\n";elseif(gd=='C'||gd=='c')cout<<"\nScored70-79!\n";elseif(gd=='D'||gd=='d')cout<<"\nScored60-69!\n";elseif(gd=='E'||gd=='e')cout<<"\nScoreunder60!\n";elsecout<<"Unexpecterror!\n";//防止意外错误}程序(2)//此程序用switch输出等级对应的分数段//A->=90,B-(90,80],C-(80,70],D-(70,60],,E-<60#includeusingnamespacestd;intmain(){chargd;cout<<"Enterthegrade:";cin>>gd;//直到输入有效等级,否则程序不继续运行while(!((gd>='A'&&gd<='E')||(gd>='a'&&gd<='e'))){cout<<"Invalidgrade!Pleaseretry:";cin>>gd;}switch(gd){case'A':case'a':cout<<"\nScored90-100!\n";break;case'B':case'b':cout<<"\nScored80-89!\n";break;case'C':case'c':cout<<"\nScored70-79!\n";break;case'D':case'd':cout<<"\nScored60-69!\n";break;case'E':case'e':cout<<"\nScoreunder60!\n";break;default:cout<<"Unexpecterror!\n";//防止意外错误}}2.什么叫循环控制?归纳比较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个分支。2.4编程题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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
{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=162.3思考题1.C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。根据一个实际问题使用不同的条件语句编程。【解答】语句使用方式使用场合if语句if(表达式)语句1;else语句2;需要对给定的条件进行判断,并根据判断的结果选择不同的操作。适用于复杂的条件表达式判断。switch语句switch(表达式){case常量表达式1:语句1;case常量表达式2:语句2;……case常量表达式n;语句n;[default:语句n+1;]}根据整型表达式的不同值决定程序分支的情况。适用于判断表达式简单,需要多个分支处理的情况。演示程序:程序(1)//此程序用if输出等级对应的分数段//A->=90,B-(90,80],C-(80,70],D-(70,60],,E-<60#includeusingnamespacestd;intmain(){chargd;cout<<"Enterthegrade:";cin>>gd;//直到输入有效等级,否则程序不继续运行while(!((gd>='A'&&gd<='E')||(gd>='a'&&gd<='e'))){cout<<"Invalidgrade!Pleaseretry:";cin>>gd;}if(gd=='A'||gd=='a')cout<<"\nScored90-100!\n";elseif(gd=='B'||gd=='b')cout<<"\nScored80-89!\n";elseif(gd=='C'||gd=='c')cout<<"\nScored70-79!\n";elseif(gd=='D'||gd=='d')cout<<"\nScored60-69!\n";elseif(gd=='E'||gd=='e')cout<<"\nScoreunder60!\n";elsecout<<"Unexpecterror!\n";//防止意外错误}程序(2)//此程序用switch输出等级对应的分数段//A->=90,B-(90,80],C-(80,70],D-(70,60],,E-<60#includeusingnamespacestd;intmain(){chargd;cout<<"Enterthegrade:";cin>>gd;//直到输入有效等级,否则程序不继续运行while(!((gd>='A'&&gd<='E')||(gd>='a'&&gd<='e'))){cout<<"Invalidgrade!Pleaseretry:";cin>>gd;}switch(gd){case'A':case'a':cout<<"\nScored90-100!\n";break;case'B':case'b':cout<<"\nScored80-89!\n";break;case'C':case'c':cout<<"\nScored70-79!\n";break;case'D':case'd':cout<<"\nScored60-69!\n";break;case'E':case'e':cout<<"\nScoreunder60!\n";break;default:cout<<"Unexpecterror!\n";//防止意外错误}}2.什么叫循环控制?归纳比较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个分支。2.4编程题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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
x=16
2.3思考题
1.C++中有什么形式的选择控制语句?
归纳它们语法形式、应用场合。
根据一个实际问题使用不同的条件语句编程。
语句
使用方式
使用场合
if语句
if(表达式)语句1;
else语句2;
需要对给定的条件进行判断,并根据判断的结果选择不同的操作。
适用于复杂的条件表达式判断。
switch语句
switch(表达式)
{case常量表达式1:
语句1;
case常量表达式2:
语句2;
……
case常量表达式n;语句n;
[default:
语句n+1;]
根据整型表达式的不同值决定程序分支的情况。
适用于判断表达式简单,需要多个分支处理的情况。
演示程序:
程序
(1)
//此程序用if输出等级对应的分数段
//A->=90,B-(90,80],C-(80,70],D-(70,60],,E-<60
{chargd;
cout<<"Enterthegrade:
";
cin>>gd;
//直到输入有效等级,否则程序不继续运行
((gd>='A'&&gd<='E')||(gd>='a'&&gd<='e')))
{cout<<"Invalidgrade!
Pleaseretry:
if(gd=='A'||gd=='a')cout<<"\nScored90-100!
\n";
elseif(gd=='B'||gd=='b')cout<<"\nScored80-89!
elseif(gd=='C'||gd=='c')cout<<"\nScored70-79!
elseif(gd=='D'||gd=='d')cout<<"\nScored60-69!
elseif(gd=='E'||gd=='e')cout<<"\nScoreunder60!
elsecout<<"Unexpecterror!
\n";//防止意外错误
(2)
//此程序用switch输出等级对应的分数段
switch(gd)
{case'A':
case'a':
cout<<"\nScored90-100!
\n";break;
case'B':
case'b':
cout<<"\nScored80-89!
case'C':
case'c':
cout<<"\nScored70-79!
case'D':
case'd':
cout<<"\nScored60-69!
case'E':
case'e':
cout<<"\nScoreunder60!
cout<<"Unexpecterror!
2.什么叫循环控制?
归纳比较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个分支。2.4编程题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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
编译错误为:
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个分支。2.4编程题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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
变量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个分支。2.4编程题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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
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个分支。2.4编程题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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
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个分支。2.4编程题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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
程序运行后,输入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个分支。
2.4编程题
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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
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:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
gotoend;
cout<end:;//分号不能省}5.编程序模拟剪刀、石头和纸游戏。游戏规则为:剪刀剪纸,石头砸剪刀,纸包石头。玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。【解答】#includeusingnamespacestd;intmain(){charfirst,second;cout<<"Firstinput(s,rorp):";cin>>first;cout<<"Secondinput(s,rorp):";cin>>second;switch(first){case's':switch(second){case's':cout<<"Scissortiesscissor."<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.14159265;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除余
end:
;//分号不能省
5.编程序模拟剪刀、石头和纸游戏。
游戏规则为:
剪刀剪纸,石头砸剪刀,纸包石头。
玩游戏者从键盘上输入s(表示剪刀)或r(表示石头)或p(表示纸),要求两个游戏者交替输入,计算机给出输赢的信息。
{charfirst,second;
cout<<"Firstinput(s,rorp):
cin>>first;
cout<<"Secondinput(s,rorp):
cin>>second;
switch(first)
{case's':
switch(second)
cout<<"Scissortiesscissor."<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.14159265;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除余
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.14159265;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除余
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.14159265;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除余
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.14159265;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除余
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.14159265;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除余
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.14159265;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除余
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.14159265;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除余
"<}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.14159265;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除余
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.14159265;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除余
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.14159265;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除余
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.14159265;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除余
"<}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.14159265;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除余
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.14159265;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除余
;
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.14159265;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除余
8.已知X=0
,10
,20
,…,180
,求sinx,cosx和tanx的值。
{constdoublepi=3.14159265;
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)<<"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除余
<<"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除余
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)<
<}}9.在100到200中找出同时满足用3除余
9.在100到200中找出同时满足用3除余
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1