printf(\}
(2)【程序2.2】
int a=3, b=4, c=5; void sub(int n) { int b=20; static int s=10; b+=a++; s+= b+c;
printf(\ }
void main() { int b=6,c=7; sub(10); sub(b+c);
printf(\}
C试卷 — 2 (共8页)
试题三 (12分,每小题6分)
改错。下列每个程序中都有三个错误,按题中的计算要求,纠正错误,并以“将#XX”行改为“YYYY”的形式进行解答,把解答写在答卷纸的对应栏内。代码左边的#01、#02、……是附加的行号。
【程序3.1】 下面程序的功能是从键盘输入三角形的3条边长x, y, z(整型数),判断此3边能否构成三角形。若能,则判定构成的三角形是等边三角形或是等腰三角形还是任意三角形,并求出所构成三角形的面积。
#01 #include
#02 #include #03 int sjxfl(int a,int b,int c) {
#04 if((a<=0)&&(b<=0)&&(c<=0)&&(a+b<=c)&&(b+c<=a)&&(c+a<=b)) return 0; #05 else if(a= =b= =c) return 1;
#06 else if((a= =b)||(b= =c)||(c= =a)) return 2; #07 else return 3; #08 }
#09 void main() { #10 int x,y,z; #11 float area,s;
#12 scanf(\#13 switch(sjxfl(x,y,z)) {
#14 case 0: printf(\不能构成三角形.\\n\ #15 exit(0);
#16 case 1: printf(\构成等边三角形.\\n\ #17 break;
#18 case 2: printf(\构成等腰三角形.\\n\ #19 break;
#20 case 3: printf(\构成任意三角形.\\n\ #21 break; #22 }
#23 s=(x+y+z)/2;
#24 area=sqrt(s*(s-x)*(s-y)*(s-z));
#25 printf(\构成三角形的面积是:area=%f\\n\ #26 }
C试卷 — 3 (共8页)