main()
{float a,b,c,s,area;
scanf(\
if((a+b>c)&&(a+c>b)&&(b+c>a)&&(fabs(a-b)
if(a==b&&b==c)
printf(\等边三角形\ else if(a==b||b==c||a==c) 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(\不能组成三角形\}
13 输入一个整数,如果能被3,4,5同时整除,则输出“YES”,否则输出“NO”。
#include
scanf(\
if(t%3==0&&t%4==0&&t%5==0) printf(\ else
printf(\}
14 年号,判断是否为闰年。判别闰年的条件是:能被4整除但不能被100整除的年是闰年,
能被400整除的年也是闰年。
#include
{ int year;
printf(\ scanf(\
if(year%4==0&&year0!=0||year@0==0) printf(\ else
printf(\}
15 下面程序根据以下函数关系,对输入的每个x值,计算出y值。请分析程序填空。
x y x>10 3x+10 1 #include { double x,y; scanf(\ if(x>10) y=3*x+10; else if(x>1) y=x*x+2*x; else y=x*x-3*x+10; printf(\} 习题5答案 选择题 1.A 2 .A 3 .D 4.C 5. D 6.A 7 .D 8 .D 9.B 10 .C 阅读程序,写结果 11 .1 -2 12 .2 0 13 .*** 14 .2,4,6,8,10, 15 .46.000000 16 .852 17.利用公式???1?111???...公式求357π。 #include #include {double pi=0,i=1,j=1,k; do{ k=i/j; pi=pi+k; i=-i; j=j+2; }while (fabs(k)>1.0e-6); printf(\} 18.求两个数的最大公约数和最小公倍数。最大公约数:用大数整除小数,得到余数1; 再用小数整除余数1,得到余数2;再用余数1整除余数2,??直到余数为0。最小公倍数:两数相乘再除以最大公约数。 #include { int m,n,r,x,y; scanf(\ x=m; y=n; if (m printf(\divisor is %d,the min common multiple is %d\} 19.从三个红球、五个白球、六个黑球中任意取出六个球,且其中必须有白球,编程输出所有可能的组合。 #include printf(\ for(i=0;i<=3;i++) for(j=1;j<=5;j++) {k=6-i-j; if(k>=0) printf(\ } } 20.如果一个数等于其所有真因子(不包括该数本身)之和,则该数为完数。例如:6的真因子有1、2、3,且6=1+2+3,故6为完数。求[2,1000]内的: (1)最大的完数; (2)完数数目。 #include {int a,i,m,number=0,max=0; for(a=1;a<=1000;a++) { m=0; for(i=1;i<=a/2;i++) if(a%i==0) m=m+i; if(m==a) { number++,max=m;} } printf(\} 第6章 函数与编译预处理 一、选择题 1.C 2.A 3.A 4.D 5.A 6.A 7.C 8.B 9.B 10.C 11.B 12.B 13.A 14.D 15.C 16.C 17.C 18.C 19.A 20.D 21.B 22.B 23.C 24.A 25.C 26.D 27.C 28.D 二、写出下列程序的运行结果 1.7 2.12 3.9 4.8,17 5.5 6 6.8,8 7.3 6 9 12 8.10 9.7 5 10.64 54 11.300 12.6 13.2 三、编程题(以下各题均用函数实现) 1.超级素数:一个素数依次从低位去掉一位、两位??若所得的数依然是素数,如239就是超级素数。试求100~9999之内: (1)超级素数的个数; (2)所有超级素数之和; (3)最大的超级素数。 解:(1)spn=30 (2)sps=10012 (3)spm=7393 2.其平方等于某两个整数平方和的正整数称为弦数,例如因52=32+42,故5是弦数,求(121,130)这间的弦数个数以及最大和最小的弦数。 解:n=4 max=130 min=122 3.有一个8层灯塔,每层所点灯数都等于该层上一层的两倍,一共有765盏灯,求塔底的灯数。 解:384 4.编写程序,求?n!的结果。 110解:4037913 5.已知y = f(x,n),其中,f(x, n) = 1 ? x2 / 2! + x4 / 4! ? ?(?1)nx2n / (2n)! f(x?2.3,n)?f(x?3.2,n?3)(n≥0),当x = 5.6,n = 7时,求y的值。 解:-0.074521 6.编写程序,求三个数的最小公倍数。 #include { j=j+1; t=j%x; m=j%y; n=j%z; } return j; } main() { int x1,x2,x3,j; printf(\ x2 x3: \ scanf(\ printf(\ j=fun(x1,x2,x3); printf(\} ?2k?22427.已知:S?,编写程序,求S的值。 ????1?33?5?2k?1???2k?1?例如,当k为10时,S的值应为:1.533852。 #include main() { printf(\} 2