3.1.1if语句 cout<<"输入三个系数a(a!=0),b,c:"<<end 入三个系数a(a!=0),b,c: cin>>a>>b>>c: 6 cout<<"a="<<a<<"t'<<"b="<<b<<"t"<<"c="<<c<<endl delta=b**c a=1b=5c=6 fabs(deta)<zero){∥绝对值很小的数即被认为是0 delta=(-5)*(-5)-4*1*6 cou<"方程有两个相同实根:" cout<<x1=x2=<<-b/(2 *a)<<endl; delta=sqrt(1)=1 1=(5+1)(2*1)=3 else if(delta>0) delta=sqrt(de lta) )/(2*1)=2 x1=(-b+deta)(2*a); 方程有两个不同实根 x1=3x2=2 x2=(-b-delta)/(2*a cou<"方程有两个不同实根:"; cout<<x1=<<xl<<t<<x2=<<x2<<end; //delta<0 岗心國 cout<"方程无实根!;}
3.1.1 if 语句 输入三个系数a(a!=0),b,c: 1 -5 6 a=1 b=-5 c=6 delta=(-5)*(-5)-4*1*6=1 delta=sqrt(1)=1 x1=(5+1)/(2*1)=3 x2=(5-1)/(2*1)=2 方程有两个不同实根: x1=3 x2=2 cout<<"输入三个系数a(a!=0),b, c:"<<endl; cin>>a>>b>>c; cout<<"a="<<a<<'\t'<<"b="<<b<<'\t'<<"c="<<c<<endl; delta=b*b-4*a*c; if(fabs(delta)<zero){ //绝对值很小的数即被认为是0 cout<<"方程有两个相同实根:"; cout<<"x1=x2="<<-b/(2*a)<<endl; } else if(delta>0){ delta=sqrt(delta); x1=(-b+delta)/(2*a); x2=(-b-delta)/(2*a); cout<<"方程有两个不同实根:"; cout<<"x1="<<x1<<'\t'<<"x2="<<x2<<endl;} else //delta<0 cout<<"方程无实根!";}
3.1.1if语句 cout<<"输入三个系数a(a!=0),b,c:"<<end 入三个系数a(a!=0),b,c: cin>>a>>b>>c: 124 cout<<"a="<<a<<"t'<<"b="<<b<<"t"<<"c="<<c<<endl delta=b**c a=1b=2c=4 fabs(deta)<zero){∥绝对值很小的数即被认为是0 deta=2*2-4*1*4=-12 cou<"方程有两个相同实根:" 方程无实根 cout<<x1=x2=<<-b/(2 a)<<endl; 3 else if(delta>0)f delta= sqrt(delta); xl=(-b+delta)/(2*a) (-b-deta)/(2*a); cout<<"方程有两个不同实根 cout<<"xl="<x1<<"t'<"x2="<<x2<<end;} else //delta<0 岗心國 cout<"方程无实根!;}
3.1.1 if 语句 输入三个系数a(a!=0),b,c: 1 2 4 a=1 b=2 c=4 delta=2*2-4*1*4=-12 方程无实根: cout<<"输入三个系数a(a!=0),b, c:"<<endl; cin>>a>>b>>c; cout<<"a="<<a<<'\t'<<"b="<<b<<'\t'<<"c="<<c<<endl; delta=b*b-4*a*c; if(fabs(delta)<zero){ //绝对值很小的数即被认为是0 cout<<"方程有两个相同实根:"; cout<<"x1=x2="<<-b/(2*a)<<endl; } else if(delta>0){ delta=sqrt(delta); x1=(-b+delta)/(2*a); x2=(-b-delta)/(2*a); cout<<"方程有两个不同实根:"; cout<<"x1="<<x1<<'\t'<<"x2="<<x2<<endl;} else //delta<0 cout<<"方程无实根!";}
31.2条件通算符“2: f语旬在某些情况下可以用杀件远算静“2:”来 化表达。“?:”是一个三元运算,其构成的表 达式格式为 〈表达式1)?〈表达式2):〈表达式3 执行的运算是,先计算表达式1,若其值为真(或 非0),则计算表达式2(不计算表达式3),并将 该值作为个表达式的值;反之,即表达式1的值 为假或为0;则计算表达式3(不计算表达式2), 并将该值作为蓬个表达式的值。 岗心國
3.1.2 条件运算符“?:” if语句在某些情况下可以用条件运算符“?:”来 简化表达。 “?:”是一个三元运算符,其构成的表 达式格式为: <表达式1> ? <表达式2> : <表达式3> 执行的运算是,先计算表达式1,若其值为真(或 非0),则计算表达式2(不计算表达式3),并将 该值作为整个表达式的值;反之,即表达式1的值 为假或为0;则计算表达式3(不计算表达式2), 并将该值作为整个表达式的值
3.13 switch语句 格式为: switch(<表达式>){ case<常量表达式1>:<语句序列1 [break case<常量表达式2>:[<语句序列2 break; case<常量表达式n>:语句序列m] break; default::<语句序列斗 岗心國
3.1.3 switch语句 格式为: switch (<表达式>){ case <常量表达式1>: [<语句序列1>] [break;] case <常量表达式2>: [<语句序列2>] [break;] … case <常量表达式n>:[<语句序列n>] [break;] [default: <语句序列>] }
3.13 switch语句 【例3.6】运输公司对所运货物实行分段计费。设运输里程为s,则运费 打折情况如下: s<250 不打折扣 250<=s<500 2%折扣 500<=s<1000 5%折扣 1000<=s<2000 8%折扣 2000<=s<3000 10%折扣 3000<=s 15%折扣 设每公里每吨的基本运费为p,货物重量为w,折扣为d,则总运费为: fp*w*s*(1-d) 设计程序,当输入p、w和s后,计算运费f 分析:如果用 switch语句,必须使表达式符合语法要求,分析发现,里程 s的分段点均是250的倍数,因此,将里程s除以250,取整数商,便得到若 干整数值
3.1.3 switch语句 【例3.6】 运输公司对所运货物实行分段计费。设运输里程为s,则运费 打折情况如下: s<250 不打折扣 250<=s<500 2%折扣 500<=s<1000 5%折扣 1000<=s<2000 8%折扣 2000<=s<3000 10%折扣 3000<=s 15%折扣 设每公里每吨的基本运费为p,货物重量为w,折扣为d,则总运费f为: f=p*w*s*(1-d) 设计程序,当输入p、w和s后,计算运费f。 分析:如果用switch语句,必须使表达式符合语法要求,分析发现,里程 s的分段点均是250的倍数,因此,将里程s除以250,取整数商,便得到若 干整数值