第1章习题参考答案
1.单项选择题
(1)A (2)C (3)D (4)C (5)B 2.填空题 (1)函数
(2)主函数(main) (3)printf() , scanf()
第2章习题参考答案
1.单项选择题
1-5 CBCCC 6-10 CDCDC 11-13 DBB 2.填空题
(1)1 (2)26 (3)6 , 4 , 2 (4)10 , 6(5)3.000000 (6)双精度(double)(7)9 (8)字母 ,数字 ,下划线(9)13.700000 (10)11(11)((m/10))*100+(m/100)*10+m(12)0 (13)10 ,9 ,11(15)(x<0&&y<0)||(x<0&&z<0)||(y<0||z<0)(16)double (17)x==0(18)sqrt(fabs(a-b))/(3*(a+b))(19)sqrt((x*x+y*y)/(a+b))
第3章习题参考答案
1.单项选择题
1-5 CCCDD 6-10 BCDBC 11-15 BCBBB 16 A 2.填空题
(1)用;表示结束(2){ }(3)y=x<0?1:x==0?0:-1
(4)y%4==0&&y0!=0||y@0==0(5)上面未配对(6)default标号 (7)while , do while , for(8)do while(9)本次(10)本层 3.阅读程序,指出结果
(1)yes(2)*&(3)ABother(4)28 70(5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12(11)i=6,k=4 (12)1,-2 4.程序填空
(1)x:y , u:z
(2)m=n , m!=0 ,m=m/10
(3)t 1 (6)double s=0 , 1.0/k , %lf (7)s>=0 , s #include double x,y; scanf(\ if(x<1) y=x; else if(x>=1.0&&x<10) y=2*x-11; else y=3*x-11; printf(\ return 0; } (2). #include double x,y,z,min; scanf(\ if(x>y) min=y; else min=x; if(min>z) min=z; printf(\ return 0; } (3). #include int y,m,d,flag,s=0,w,i; scanf(\ flag=(y%4==0&&y0!=0||y@0==0); w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7; for(i=1;i<=m;i++) { switch(i) { case 1:s=d;break; case 2:s=31+d;break; case 3:s=59+d;break; case 4:s=90+d;break; case 5:s=120+d;break; case 6:s=151+d;break; case 7:s=181+d;break; case 8:s=212+d;break; case 9:s=243+d;break; case 10:s=273+d;break; case 11:s=304+d;break; case 12:s=334+d;break; } } if(flag==1&&m>2) s=s+1; s=(w+s)%7; if(s==0) printf(\星期日\\n\ else printf(\星期%d\\n\ return 0; } 2 (4). #include float p,r; scanf(\ if(p<=10) r=p*0.1; else if(p>10&&p<=20) r=10*0.1+(p-10)*0.075; else if(p>20&&p<=40) r=10*0.1+10*0.075+(p-20)*0.05; else if(p>40&&p<=60) r=10*0.1+10*0.075+20*0.05+(p-40)*0.03; else if(p>60&&p<=100) r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015; else if(p>100) r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01; printf(\ return 0; } (5). #include char c; while((c=getchar())!='\\n') { if(c>='a'&&c<='z') c=c-32; putchar(c); } return 0; } (6). #include int m,k=2; printf(\输入一个正整数:\\n\ scanf(\ while(k printf(\ m=m/k; } else k++; printf(\ return 0; } (7). #include int a,n,s=0,p=0,i; scanf(\ for(i=1;i<=n;i++) { p=p*10+a; s=s+p; } printf(\ return 0; } (8). #include 3 { int i,j,k; for(i=1;i<=9;i++) for(j=0;j<=9;j++) for(k=0;k<=9;k++) printf(\ return 0; } (9). #include float a=-10,b=10,x,f1,f2,f; f1=(((2*a-4)*a+3)*a)-6; f2=(((2*b-4)*b+3)*b)-6; do { x=(a+b)/2; f=(((2*x-4)*x+3)*x)-6; if(f*f1<0) { b=x; f2=f; } else { a=x; f1=f; } }while(fabs(f)>=1e-6); printf(\ return 0; } (10). #include #include int n=2; double eps,t,s=0,x; scanf(\ t=x; s=t; while(fabs(t)>=eps) { t=-t*(2*n-3)*x*x/(2*n-2); s=s+t/(2*n); n++; } printf(\ return 0; } (11). #include unsigned long s,t=0,p=1; scanf(\ while(s!=0) { if((s)%2!=0) { t=t+(s)*p; p=p*10; } s=s/10; } printf(\ return 0; } 4 第4章习题参考答案 1.单项选择题 1-5 DDDBD 6-10 BADCD 11-14 BDAB 2.填空题 (1)2(2)嵌套 , 递归 (3)全局变量 , 局部变量 , 静态变量 , 动态变量 (4)auto , static , register , extern (5)外部变量(6)编译 ,运行 3.阅读程序,指出结果 (1)15(2)5(3)5,4,3 (4)i=5 i=2 i=2 i=4 i=2 (5)求水仙花数(6)-5*5*5(7)30 (8)0 10 1 11 2 12 4.程序填空 (1)float fun(float , float) , x+y,x-y , z+y,z-y (2)x , x*x+1 (3)s=0 , a=a+b 5.编程题 (1). while(s!=0) #include 5