C语言谭浩强第四版例题(7)

2018-12-29 17:54

例7.3将例7.2稍作改动,将在max函数中定义的变量z改为float型。函数返回值的类型与指定的函数类型不同,分析其处理方法。 编写程序:

#include int main()

{int max(float x,float y); float a,b; int c;

scanf(\ c=max(a,b);

printf(\ return 0; }

int max(float x,float y)

{float z; z=x>y?x:y; return(z); }

例7.4 输入两个实数,用一个函数求出它们之和。 编写程序: 程序1:

#include int main()

{float add(float x, float y); float a,b,c;

printf(\ scanf(\ c=add(a,b);

printf(\ return 0; }

float add(float x,float y)

{float z; z=x+y; return(z); }

程序2:

#include

float add(float x,float y)

{float z; z=x+y; return(z); }

void main() {

float a,b,c;

printf(\ scanf(\ c=add(a,b);

printf(\}

例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); // 返回年龄 }


C语言谭浩强第四版例题(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:北京理工大学汇编上机试题和代码

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: