9. 2 、 2 10. p=j 、 x[i][p] 、 LineMax(x) 11. 5 12. 24 13. age(n-1)+2 、 age(n) 14. m 、 m/10 、 m或m!=0 、 r(m)
三、编程题
1. 编一函数,判断某年是否为闰年,若是返回1,否则返回0。 #include
{ return (m%4==0)&&(m0!=0)||(m@0==0); } void main() { int n;
scanf(\ if(fun(n))
printf(\}
2. 编写计算三角形面积的程序,将计算面积定义成函数。三角形面积公式为: A= 式中s=(a+b+c)/2
其中A为三角形面积,a、b、c为三角形的三条边的长度。 #include
float fun(float a,float b,float c) {
float f,s;
s=(a+b+c)/2;
if((s<=a)||(s<=b)||(s<=c)) //或(a+b)>c&&(a+c)>b&&(b+c)>a f=0; else
f=sqrt(s*(s-a)*(s-b)*(s-c)); return f; }
void main() {
float a,b,c;
scanf(\ printf(\}
3. 编写两个函数,分别求出两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出
结果,两个整数由键盘输入。 #include
#include
r=m%n; while(r!=0)
{ m=n;n=r;r=m%n; } return n; }
int fmin(int m,int n)
{ return m*n/fmax(m,n); } void main() {
int a,b;
scanf(\
printf(\ printf(\}
4. 编写函数,根据整型形参m的值,计算公式
t=1- - -…- 的值。例如,若m=5,则应输出0.536389。 #include
float t=1.0; int i;
for(i=2;i<=m;i++) t=t-1.0/i/i; return t; }
void main() {
int m;
scanf(\
printf(\}
5. 计算s=1+ + +…+ 。n由终端输入,将计算n!定义成函数。 #include
float s=0.0,t=1.0; for(i=1;i<=m;i++) { t=t/i; s=s+t; } return s;
}
void main() { int n;
scanf(\
printf(\ }
6. 编写函数,利用公式:
计算π的近似值,当某一项的值小于10-5时,认为达到精度要求。 #include
int n;
double pi=1,t=1; n=1; do {
t=t*n/(2*n+1); pi=pi+t; n++;
}while(t>1e-5); return 2*pi; }
void main()
{ printf(\
7. 编一函数,判断某一整数是否为回文数,若是返回1,否则返回0。所谓回文数就是该数正读与反读是一样的。例如12321就是一个回文数。 #include
{ n++; t=t/10; } //求出M是几位的数 t=m; while(t) {
if(t/(int)pow(10,n-1)!=t) //比较其最高位和最低位 return 0; else {
t=t%(int)pow(10,n-1); //去掉其最高位
t=t/10; //去掉其最低位 n=n-2; //位数去掉了两位 } }
return 1; }
void main() { int x;
scanf(\ if(huiwen(x))
printf(\ else
printf(\}
8. 编写一个求水仙花数的函数,然后通过主函数调用该函数求100到999之间的全部水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。 例如:153就是一个水仙花数:153=1*1*1+5*5*5+3*3*3 #include
int a,b,c;
a=m/100; b=m/10; c=m; if(m==a*a*a+b*b*b+c*c*c) return 1; else
return 0; }
void main() { int i;
for(i=100;i<=999;i++) if(fun8(i))
printf(\ printf(\}
9. 编一函数primedec(m),求整数m的所有因子并输出。例如:120的因子为:2,2,2,3,5。
#include
int n=2;

