C语言谭浩强第四版例题 联系客服

发布时间 : 星期五 文章C语言谭浩强第四版例题更新完毕开始阅读e3e54770783e0912a2162ae4

例7.5 输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。 编写程序: 程序1:

#include int main()

{ int max4(int a,int b,int c,int d); // 对max4的函数声明 int a,b,c,d,max;

printf(\ // 提示输入4个数 scanf(\ // 输入4个数

max=max4(a,b,c,d); // 调用max4函数,得到4个数中的最大者 printf(\ // 输出4个数中的最大者 return 0; }

int max4(int a,int b,int c,int d) // 定义max4函数 {int max2(int a,int b); // 对max2的函数声明 int m;

m=max2(a,b); // 调用max2函数,得到a和b两个数中的大者,放在m中

m=max2(m,c); // 调用max2函数,得到a,b,c三个数中的大者,放在m中 m=max2(m,d); // 调用max2函数,得到a,b,c,d四个数中的大者,放在m中 return(m); // 把m作为函数值带回main函数 }

int max2(int a,int b) // 定义max2函数 {if(a>=b)

return a; // 若a>=b,将a为函数返回值 else

return b; // 若a void main()

{ int max4(int a,int b,int c,int d); int a,b,c,d,max;

printf(\ scanf(\ max=max4(a,b,c,d);

printf(\}

int max4(int a,int b,int c,int d) {int max2(int a,int b);

return max2(max2(max2(a,b),c),d); }

int max2(int a,int b) {

return(a>b?a:b); }

程序2:

#include int main()

{ int max4(int a,int b,int c,int d); int a,b,c,d,max;

printf(\ scanf(\ max=max4(a,b,c,d);

printf(\ return 0; }

int max4(int a,int b,int c,int d) {int max2(int a,int b); int m;

m=max2(a,b); m=max2(m,c); m=max2(m,d); return(m); }

int max2(int a,int b) {

return(a>b?a:b); }

程序3:

#include void main()

{ int max4(int a,int b,int c,int d); int a,b,c,d,max;

printf(\ scanf(\ max=max4(a,b,c,d);

printf(\}

int max4(int a,int b,int c,int d) {int max2(int a,int b); int m;

m=max2(max2(max2(a,b),c),d); /* 仔细分析此行 */ return(m); }

int max2(int a,int b) {

return(a>b?a:b); }

程序4:

#include void main()

{ int max4(int a,int b,int c,int d); int a,b,c,d,max;

printf(\ scanf(\ max=max4(a,b,c,d);

printf(\}

int max4(int a,int b,int c,int d) {int max2(int a,int b);

return max2(max2(max2(a,b),c),d); }

int max2(int a,int b) {

return(a>b?a:b); }

例7.6 有5个学生坐在一起

? 问第5个学生多少岁?他说比第4个学生大2岁 ? 问第4个学生岁数,他说比第3个学生大2岁 ? 问第3个学生,又说比第2个学生大2岁 ? 问第2个学生,说比第1个学生大2岁 ? 最后问第1个学生,他说是10岁 ? 请问第5个学生多大

编写程序:

#include int main()

{ int age(int n);

printf(\ //输出第5人的年龄 return 0; }

int age(int n) //定义递归函数 {int c;

if(n==1) // 如果n等于1 c=10; // 年龄为10

else // 如果n不等于1

c=age(n-1)+2; // 年龄是前一人的年龄加2(如第4人年龄是第3人年龄加2) return(c); // 返回年龄 }

例7.7 用递归方法求n!。 编写程序:

#include int main()

{ int fac(int n); int n; int y;

printf(\ scanf(\ y=fac(n);

printf(\ return 0; }

int fac(int n) { int f; if(n<0) printf(\ else if(n==0||n==1) f=1;

else f=fac(n-1)*n; return(f); }