disc=b*b-4*a*c; p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q;
printf(\}
法二:
#include
{ float a,b,c,disc,x1,x2,p,q;
scanf(\ if (a==0)
printf(\不是二次方程\\n\ else
disc=b*b-4*a*c; if (disc<0)
printf(\无实根\\n\ else
if (disc==0) {p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a); x1=p+q;
x2=p-q; printf(\有两个相同的实根\\n\
printf(\ } else
{p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q;
printf(\有两个不同的实根\\n\
printf(\
} }
11
第5章 选择结构程序设计
5 习题
一、选择题 BBCBB CBACB
二、阅读程序写出运行结果
1、-2 2、Yes 3、(1)2 (2)3 CC
A=2,b=2,c=4
4、*& 5、5
3 2
三、编程题
1. #include
int main() {
int a,b;
//先判断a是否大于等于0,如果是的话a=b if (a>=0) { b=a; }
//如果不是的话,先对a按位取反,然后再加一 else { b=~a; b=b+1; }
cout<
2.略
3. #include
int main(void) {
int n;
12
}
int status=1; while(status) {
printf(\输入:\ scanf(\ switch (n) {
case 0:
printf(\舞蹈\\n\ break; case 1: case 3:
printf(\乒乓球\\n\ break;
case 2
case 4:
printf(\篮球\\n\ break; case 5:
printf(\保龄球\\n\ break; case 6:
printf(\吉他\\n\ break; default:
status=0; } }
return 0;
实验5 选择结构程序设计
二、实验内容 1.改错题
下列程序的功能为:输入3个整数后,输出其中最大值。请纠正程序中存在错误,使程序实现其功能。
#include \
该程序的运行结果: main()
请输入3个整数: {
5 2 7 int a,b,c,max;
3个数中最大者为:7 printf (\请输入3个整数:\\n\
scanf (\max=a;
13
if (c>b)
{ if (b>a) max=c;} /* c>b>a */ else /* b>c */ {if (c>a) max=b;} /* b>c>a */ printf(\个数中最大者为:%d\\n\}
改正后的程序:
#include \main() {
int a,b,c,max;
printf (\请输入3个整数:\\n\scanf (\max=a; if (c>b)
{ if (c>a) max=c;} else
{if (b>a) max=b;} printf(\个数中最大者为:%d\\n\2. 程序填空题
#include
int a,b,d; char ch;
printf(\
scanf(\输入数学表达式*/ switch(ch) {
case '+': d=a+b;
printf(\ case '-': d=a-b;
printf(\
case '*': d=a*b;printf(\ case '/':
if (b==0) printf(\
else printf(\强制类
型转换*/
break;
default : printf(\ } }
14
3.编程题
(1)#include
int a,b,c,max,min; float sum,d,e;
printf(\请输入三个数:\ scanf(\ sum=a+b+c; d=sum/3; e=a*b*c; if(a>b)
{max=a;min=b;} else
{max=b;min=b;} if(max if(min>c) min=c; printf(\三个数的和%.1f\\n\ printf(\三个数的平均值%.2f\\n\ printf(\三个数的积%.1f\\n\ printf(\三个数中最大值是%d\\n\ printf(\三个数中最小值是%d\\n\} (2) #include float x,y; scanf(\ if(x<5) y=1-x*x*x; else if(x<=15&&x>=5) y=x-1; else y=2*x*x-1; printf(\} (3) #include { int a; printf(\ scanf(\ switch(a) { case 0:printf(\ 15