的值相同。8)若x=5,y=10,则计算y*=++x;表达式后,x和y的值分别为6和609)若x=25,则计算y=x一一:表达式后,x和y的值分别为_24_和_25。10)若x=25,y=3,则计算z=x-y=2:表达式后,x、y、z的值分别为2和2和2。10)编程实现输入一个自然数,判断它是奇数还是偶数。void main() (int a;cin>>a;if((a%2)==0)cout<<"程冯";else cout<<"序冯";11)编程从键盘输入两个整数分别给变量a和b,要求在不借助于其他变量的条件下,将变量a和b的值实现交换,void main() (int a,b;cin>>a>>b;a=atb;b=a-b;a=a-b12)编程从键盘输入圆的半径I,计算出圆的周长和面积void main()(float r;cin>>r;cout<<"Area="<<3.1415926*r*rcout<<"Perimeter="<<2*3.1415926*r;6
6 _的值相同。 8)若 x=5,y=10,则计算 y *= ++x;表达式后,x 和 y 的值分别为_6_和_60_。 9)若 x=25,则计算 y=x--;表达式后,x 和 y 的值分别为_24_和_25_。 10)若 x=25,y=3,则计算 z=x=y=2;表达式后,x、y、z 的值分别为_2_和_2_ 和_2_。 10)编程实现输入一个自然数,判断它是奇数还是偶数。 void main(){ int a; cin>>a; if ( (a%2)==0 ) cout<<”偶数”; else cout<<”奇数”; } 11)编程从键盘输入两个整数分别给变量 a 和 b,要求在不借助于其他变量的条件下,将 变量 a 和 b 的值实现交换。 void main(){ int a,b; cin>>a>>b; a = a+b; b = a-b; a = a-b } 12)编程从键盘输入圆的半径 r,计算出圆的周长和面积。 void main(){ float r; cin>>r; cout<<”Area=”<<3.1415926*r*r; cout<<”Perimeter=”<<2*3.1415926*r;
113)已知一元二次方程ax2+bx+c=0,编一程序当从键盘输入a、b、c的值后,计算x的值。voidImain()(double a,b,c;cin>>a>>b>>c;if((b*b-4*a*c)>=0cout<<"xl="<<(-b+sqrt(b*b-4*a*c)))/(2*a);cout<<"x2="<<(-b-sqrt(b*b-4*a*c)))/(2*a);lelse(cout<<"no real root."1-7
7 } 13)已知一元二次方程 ax2+bx+c=0,编一程序当从键盘输入 a、b、c 的值后,计算 x 的 值。 void main(){ double a,b,c; cin>>a>>b>>c; if ( (b*b-4*a*c)>=0 ){ cout<<”x1=”<< (-b+sqrt(b*b-4*a*c)))/(2*a); cout<<”x2=”<< (-b-sqrt(b*b-4*a*c)))/(2*a); }else{ cout<<”no real root.” } }
第5章条件选择结构习题答案1)在嵌套if语句中,每个else关键字与它前面最接近的if关键字相配套。2)switch语句中,case后面一的是整型常量。3)输入一个次份和月份,打印出该月份有输少天(考虑闰次),用switch语句。void main((int y,m;cin>>y>>m;switch(m)(case l:case 3:case 5:7:case8:case福10:case12:casecout<<31;break;case 2:cout<<((y%4)1/(y%100==0&&y%400!=0))?28:29;break;case 4:6:casecase 9:case il:cout<<30;break;deault:cout<<"error input."8
8 第 5 章 条件选择结构 习题答案 1)在嵌套 if 语句中,每个 else 关键字与它前面最接近的_if_关键字相配套。 2)switch 语句中,case 后面跟的是_整型常_量。 3)输入一个年份和月份,打印出该月份有多少天(考虑闰年),用 switch 语句。 void main(){ int y,m; cin>>y>>m; switch( m ){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: cout<<31; break; case 2: cout<<((y%4)||(y%100==0&&y%400!=0))?28:29; break; case 4: case 6: case 9: case 11: cout<<30; break; deault: cout<<”error input
break;14)从键盘输入一个小于1000的正整数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其检查是否为小于1000的正数。void main()(double a;int ai,r;cin>>a;ai = a;if(a<=0la>1000lla!=ai)cout<<"error."Jelse(r=sqrt(a);cout<<r;-5)给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。void main()(float sc;cin>>sc;if(sc>=9o)cout<<"A";elseif(sc>=80 &&Sc<=899)cout<<"B";elseif(sc>=70 &&Sc<=79cout<<"c";elseif(sc>=60 &&Sc<=69cout<<"D";else cout<<"E"9
9 break; } } 4)从键盘输入一个小于 1000 的正整数,要求输出它的平方根(如平方根不是整数,则 输出其整数部分)。要求在输入数据后先对其检查是否为小于 1000 的正数。 void main(){ double a; int ai,r; cin>>a; ai = a; if ( a<=0 || a>1000 || a!=ai ){ cout<<”error.” }else{ r = sqrt(a); cout<<r; } } 5)给出一个百分制成绩,要求输出成绩等级 A,B,C,D,E。90 分以上为 A,80~89 分为 B,70~79 分为 C,60~69 分为 D,60 分以下为 E。 void main(){ float sc; cin>>sc; if ( sc>=90 ) cout<<”A”; else if ( sc>=80 && sc<=89 ) cout<<”B”; else if ( sc>=70 && sc<=79 ) cout<<”C”; else if ( sc>=60 && sc<=69 ) cout<<”D”; else cout<<”E” }
6)给出一个不多于5位数的正整数;a.求出它是几位数:b.分别输出每一位数字:c.按逆顺序输出各位数,例如原有数为123,应输出321void main()(inta,al,a2,a3,a4,a5;cin>>a;if ( a<0 Il a>99999 ) cout<<"error";elsefal = a%10;a2 = (a%100)/10;a3=(a%1000)/100;a4 =(a%10000)/1000;a5 = a/10000;if(a5>0)cout<<"5位数"<<al<<a2<<a3<a4<<a5:)else if(a4>0 )(cout<<"4 位数"<<al<<a2<<a3<<a4;else if( a3>0 )( cout<<"3 位数"<<al<<a2<<a3;else if(a2>0)cout<<"2位数"<<al<<a2;)else( cout<<"i 位数"<< al;}力17)输入4个整数,要求按由小到大的顺序输出。void main()int al,a2,a3,a4,t;cin>>a1>>a2>>a3>>a4;if(a1>a2)(t=al;al=a2;a2=t;)if(a1>a3)(t=al;al=a3;a3=t;)10
10 6)给出一个不多于 5 位数的正整数; a. 求出它是几位数; b. 分别输出每一位数字; c. 按逆顺序输出各位数,例如原有数为 123,应输出 321 void main(){ int a,a1,a2,a3,a4,a5; cin>>a; if ( a<0 || a>99999 ) cout<<”error”; else{ a1 = a%10; a2 = (a%100)/10; a3 = (a%1000)/100; a4 = (a%10000)/1000; a5 = a/10000; if ( a5>0 ){ cout<<”5 位数”<<a1<<a2<<a3<a4<<a5;} else if ( a4>0 ){ cout<<”4 位数”<<a1<<a2<<a3<<a4;} else if ( a3>0 ){ cout<<”3 位数”<<a1<<a2<<a3;} else if ( a2>0 ){ cout<<”2 位数”<<a1<<a2;} else { cout<<”1 位数” << a1;} } } 7)输入 4 个整数,要求按由小到大的顺序输出。 void main(){ int a1,a2,a3,a4,t; cin>>a1>>a2>>a3>>a4; if (a1>a2){ t=a1;a1=a2;a2=t; } if (a1>a3){ t=a1;a1=a3;a3=t; }