30. 下面程序根据以下函数关系,对输入的每个x值,计算出相应的y值.在( ) 填正确内容
x x=a或x=-a -a scanf(“%d%d”,&x,&a); if( )y=0; else if( )y=sqrt(a*a-x*x); else y=x; printf(“%f”,y);} 31. 以下程序的功能是计算一元二次方程ax2 +bx+c=0的根,在( )#include “math.h” main( ) {float a,b,c,t,disc,twoa,term1,term2; printf(“enter a,b,c:”); scanf(“%f%f%f”,&a,&b,&c); if( ) if( ) printf(“no answer due to input error\\n”); else printf(“the single root is%f\\n”,-c/b); else{disc=b*b-4*a*c; twoa=2*a; terml=-b/twoa; t=abs(disc); term2=sqrt(t)/twoa; if(3) 填正确内容 printf(“complex root\\n real part=%fimag part=%f\\n”, terml,term2); else printf(“real roots\\n rootl=%froot2=%f\\n”,terml+term2,term1-term2);}} 32. 以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型.在 ( )填正确内容. #include“math.h” main( ) {float a,b,c; float s,area; scanf(“%f %f %f”,&a,&b,&c); if( ) {s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“%f”,area); if( ) printf(“等边三角形”); else if( ) 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(“不能组成三角形”);} 33. 某邮局对邮寄包裹有如下规定:若包裹的长宽高任一尺寸超过1米或重量超过30千克,不予邮寄;对可 以邮寄的包裹每件收手续费0.2元,再加上根据下表按重量wei计算的资料: 重量(千克) 收费标准(元/公斤) wei<=10 0.80 10 {float len,wei,hei,wid,mon,r; scanf(“%f %f %f %f”,&len,&wid,&hei,&wei); if(len>1| |wid>1| |hei>1| |wei>30) ; else if(wei<10) r=0.8; else if(wei<=20) r=0.75; else if(wei<=30) ; if(r= =-1)printf(“error\\n”): else { ;printf(“%f”,mon);} } 34. 以下程序的功能是判断输入的年份是否是闰年.请在[ ]内填入正确的内容. main( ) {int y,f; scanf(“%d”,&y); if(y@0= =0) f=1; else if( ) f=1; else ; if(f)printf(“%d is”,y); else printf(“%d is not”,y); printf(“a leap year\\n”);} 35. 有四个数a, b, c, d,要求按从大到小的顺序输出.请在[ ]内填入正确内容 main( ) {int a,b,c,d,t; scanf(“%d %d %d %d”,&a,&b,&c,&d); if(a if ( ){t=c;c=d;d=t;} if(a printf(“%d %d %d %d\\n”,a,b,c,d);} 36. 以下程序的运行结果是__ main( ) {int a=2,b=3,c; c=a; if(a>b)c=1; else if(a= =b)c=0; else c=-1; printf(“%d\\n”,c);} 37. 在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_______。 A.a<>0 B.!a C.a=0 D.a 38. 有以下程序 ??main() ??{ int a=15,b=21,m=0; ??switch(a%3) ?? { case 0:m++;break; ?? case 1:m++; ?? switch(b%2) ?? { default:m++; ?? case 0:m++;break; } } ?? printf(“%d\\n”,m);?} 程序运行后的输出结果是______。 ?A.1 B. 2 C. 3 D.4 39. 以下程序的输出结果是_____。 ??main() ??{ int a=4,b=5,c=0,d; ??d=!a&&!b||!c; ??printf(\?} A.1 B. 0 C. 非0的数 D.-1 40. 表达式“0?(0?3:2):(10?1:0)”的值为 。 A.3 B.2 C.1 D.0 41. 若变量已正确定义,那么以下语句段的输出结果是_______。 x=0;y=2;z=3; switch(x) { case 0: switch(y==2) { casa 1: printf(“*”);break; case 2: printf(“%”);break; } case 1: switch(z) { case 1: printf(“$”);case 2: printf(“*”); break; default: printf(“#”); } } A.%$ B.#* C.*# D.**$ 42. 编制程序要求输入整数a和b,若a+b大于100,则输出a+b百位以上数字,否则输出两数之和. 43. 试编程判断输入的正整数是否既是5又是7的整倍数.若是,则输出yes,否则输出no 44. 编程序:根据以下函数关系,对输入的每个x值,计算出相应的y值 x x<=0 0 2 2 2 10 (2)能被其中两个数整除(要指出那两个数) (3)能被其中一个数整除(指出那一个) (4)不能被3,5,7任一个整除