第一范文网 - 专业文章范例文档资料分享平台

C语言谭浩强第四版例题

来源:用户分享 时间:2025/5/20 3:15:47 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

例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); }

搜索更多关于: C语言谭浩强第四版例题 的文档
C语言谭浩强第四版例题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8w47b4dzcu0cqsi0v4ys_9.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top