x x=a或x=-a -a
scanf(\if(【1】) y=0;
else if(【2】) y=sqrt(a*a-x*x); else y=x;
printf(\}
参考答案:【1】x==-a||x==a【2】x>-a&&x *4.81 以下程序的功能是计算一元二次方程ax2+bx+c=0的根,请分析程序填空。 #include {float a,b,c,t,disc,twoa,term1,term2; printf(\ scanf(\if(【1】) if(【2】) printf(\ else printf(\else {disc=b*b-4*a*c; twoa=2*a; term1=-b/twoa; t=abs(disc); term2=sqrt(t)/twoa; if(【3】) printf(\ else printf(\ } } 参考答案:【1】a==0 fabs(a)<1e-4【2】b==0【3】disc<0 4.82 以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型。请分析程序填空。 #include \main() {float a,b,c,s,area; scanf(\if(【1】) {s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(\ if(【2】) printf(\等边三角形\ else if(【3】) printf(\等腰三角形\ else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c=a*a)) printf(\直角三角形\ else printf(\一般三角形\ } else printf(\不能组成三角形\} 参考答案:【1】a+b>c&&b+c>a&&c+a>b【2】a==b&&b==c 【3】a==b||b==c||a==c 4.83 某邮局对邮寄包裹有如下规定:若包裹的长宽高任一尺寸超过1米或重量超过30千克,不予邮寄;对可以邮寄的包裹每件收取手续费0.2元,在加上根据下表按重量wei计算的邮资。请分析程序填空。 重量(千克) 收费标准 wei<10 0.80 10 main() {float len,wei,hei,wid,mon,r; scanf(\if(len>1||wid>1||hei>1||wei>30) 【1】; else if(wei<10) r=0.8; else if(wei<=20) r=0.75; else if(wei<=30) 【2】; if(r==-1) printf(\else {【3】;printf(\} 参考答案:【1】r=-1【2】r=0.70【3】m=0.2+r*wei **4.84 某服装店经营套服,也单件出售。若买的不少于50套每套80元;不足50套的每套90元;只买上衣每件60元;只买裤子每条45元。以下程序的功能是读入所买上衣c和裤子t的件数,计算应付款m。请分析程序填空。 main() {int c,t,m; printf(\scanf(\if(【1】) if(c>=50) m=c*80; else m=c*90; else if(【2】) if(t>=50) m=t*80+(c-t)*60; else m=t*90+(c-t)*60; else if(【3】) m=c*80+(t-c)*45; else m=c*90+(t-c)*45; printf(\} 参考答案:【1】t==c 【2】c>t 【3】c>=50 4.85 以下程序的功能是判断输入的年份是否是闰年。请分析程序填空。 main() {int y,f; scanf(\if(y@0==0) f=1; else if(【1】) f=1; else 【2】; if (f) printf(\else printf(\printf(\} 参考答案:【1】year%4== 0&&year0!=0【2】f=0 *4.86 以下程序段针对输入的截止日期(年:yend,月:mend,日:dend)和出生日期(yman,mman,dman),计算出实际年龄。请分析程序填空。 设有:int yend,mend,dend,yman,mman,dman; age=yend-yman; if(mend【1】)mman) age--; else if(mend【2】mman&&dend【3】dman) age--; 参考答案:【1】<【2】==【3】< 4.87 有四个数a,b,c,d,要求从大到小的顺序输出。请分析程序填空。 main() {int a,b,c,d,t; scanf(\if(a printf(\} 参考答案:【1】c 4.88 以下程序的运行结果是 。 main() {int a=2,b=3,c; c=a; if(a>b) c=1; else if(a==b) c=0; else c=-1 printf(\} 参考答案:-1 4.89 若a=1,b=2,则表达式a>b?a:b+1的值是 。 参考答案:3 4.90 若a=1,b=2,c=3,d=4,则表达式a>b?a:c>d?c:d的值是 。 参考答案:4 *4.91 设有变量定义:int a=10,c=9;则表达式(--a!=c++)?--a:++c的值是 。 参考答案:11 4.92 若有说明语句:int x=1,y=0;则表达式x>(y+x)?10:12.5>y++?'a':'A'的值是 。 参考答案:'a' *4.93 若有说明语句:int a=1,b=0;则表达式++a*--a==b?12%5:'x'的值是 。 参考答案:'x' 4.94 若有x=1,y=2,z=3,则表达式(x **4.95 若有说明语句:int x=1,y=0;则表达式x-->(y+x)?5:25>y++?'1':'2'的值是 。 参考答案:5 参考分析:增量运算在条件运算的第一个表达式中时,关系运算符两侧各为一个处理单元。x--中的值是1,然后增为0,故y+x为0+0,因此整个表达式计算结果为真。 4.96 以下程序的运行结果是 。 #include {int a=-10,b=-3; printf(\printf(\printf(\} 参考答案:1,-13,-7 4.97以下程序的运行结果是 。 main() {int x=1,y=1,z=1; y=y+z; x=x+y; printf(\ printf(\printf(\} 参考答案:3,2,3,3 4.98 以下程序的运行结果是 。 main() {int x,y,z; x=3; y=z=4; printf(\printf(\} 参考答案:0,1 4.99 若运行时输入:-2 main()