C程序设计 第四版(谭浩强)-学习笔记-第八天

/*  创建时间:20171228
    创建人:fangweijun(773714759@qq.com)
    功能:用函数实现输入两个整数,要求输出其中值最大者 
    位置:C程序设计(第四版)2010年6月第四版 176页例7.2 
*/
#include<stdio.h>
int main()
{   
    int max(int x,int y);
    int a,b,c;
    printf("please enter two integer numbers:");
    scanf("%d,%d",&a,&b);
    c=max(a,b);
    printf("max is %d\n",c);
    return 0;
}
int max(int x,int y)
{
    int z;
    z=x>y?x:y;
    return(z);
} 
/*Dev-c++输出结果: 
    please enter two integer numbers:88,0
    max is 88
*/


/*  创建时间:20171228
    创建人:fangweijun(773714759@qq.com)
    功能:用函数实现输入两个整数,要求输出其中值最大者(函数类型决定返回值类型) 
    位置:C程序设计(第四版)2010年6月第四版 178页例7.3
*/
#include<stdio.h>
int main()
{   
    int max(float x,float y);
    float a,b,c;
    printf("please enter two integer numbers:");
    scanf("%f,%f",&a,&b);
    c=max(a,b);
    printf("max is %f\n",c);
    return 0;
}
int max(float x,float y)//函数类型是整型 
{
    float z;
    z=x>y?x:y;
    return(z);//返回类型是浮点型 
} 
/*Dev-c++输出结果: 
    please enter two integer numbers:1.5,2.6
    max is 2.000000
*/


/*  创建时间:20171228
    创建人:fangweijun(773714759@qq.com)
    功能:输入两个实数,用一个函数求出它们之和 
    位置:C程序设计(第四版)2010年6月第四版 180页例7.4
*/
#include<stdio.h>
int main()
{   
    float add(float x,float y);//或float add(float,float); 
    float a,b,c;
    printf("Please enter a and b:");
    scanf("%f,%f",&a,&b);
    c=add(a,b);
    printf("sum is %f\n",c); 
    return 0;
}
float add(float x,float y)
{
    float z;
    z=x+y;
    return(z);
} 
/*Dev-c++输出结果: 
    Please enter a and b:5,3
    sum is 8.000000
*/


/*  创建时间:20171228
    创建人:fangweijun(773714759@qq.com)
    功能:输入4个整数,找出其中最大的数。用函数的嵌套调用来处理 
    位置:C程序设计(第四版)2010年6月第四版 183页例7.5
*/
#include<stdio.h>
//方法一: 
//int main()
//{ 
//  int max4(int a,int b,int c,int d);//声明函数 
//  int a,b,c,d,max;
//  printf("Please enter 4 interger numbers:");
//  scanf("%d %d %d %d",&a,&b,&c,&d);
//  max=max4(a,b,c,d);
//  printf("max=%d \n",max);
//  return 0;
//}
//int max4(int a,int b,int c,int d)//返回四个整数的最大值 ,定义函数 
//{
   
   
//  int max2(int a,int b);//声明函数 
//  int m;
//  m=max2(a,b);//返回a,b最大值 
//  m=max2(m,c);//返回a,b,c最大值 
//  m=max2(m,d);//返回a,b,c,d最大值 
//  return(m);
//}
//int max2(int a,int b)//返回两个整数的最大值 
//{
   
   
//  if(a>=b)
//      return a;
//  else
//      return b;
//}

#include<stdio.h>
//方法二(改进): 
int main()
{   
    int max4(int a,int b,int c,int d);//声明函数 
    int a,b,c,d,max;
    printf("Please enter 4 interger numbers:");
    scanf("%d %d %d %d",&a,&b,&c,&d);
    max=max4(a,b,c,d);
    printf("max=%d \n",max);
    return 0;
}
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);
}
/*Dev-c++输出结果: 
    Please enter 4 interger numbers:11 55 2 999
    max=999
*/
/*Dev-c++输出结果: 
    Please enter 4 interger numbers:88 22 5 1
    max=88
*/



/*  创建时间:20171228
    创建人:fangweijun(773714759@qq.com)
    功能:有五个学生,问第5个学生年龄,他说比第4个学生大2岁;
                      问第4个学生年龄,他说比第3个学生大2岁;
                      问第3个学生年龄,他说比第2个学生大2岁;
                      问第2个学生年龄,他说比第1个学生大2岁;
                      问第1个学生年龄,他说10岁;
                      请问第5个学生多达? 
    位置:C程序设计(第四版)2010年6月第四版 185页例7.6
*/
#include<stdio.h> 
int main()
{   
    int age(int n);//声明函数
    printf("No.5,age:%d\n",age(5));
    return 0;
}
int age(int n)//定义函数 
{
    int c;
    if(n==1)
        c=10;
    else
        c=age(n-1)+2;//比前一个学生大两岁 
    return(c);
}
/*Dev-c++输出结果: 
    No.5,age:18
*/



/*  创建时间:20171228
    创建人:fangweijun(773714759@qq.com)
    功能:用递归方法求n!
    公式:n!(n=0,1)=1;n!(n>1)=n(n-1)! (0!=1是一种规定) 
    位置:C程序设计(第四版)2010年6月第四版 187页例7.7
*/
#include<stdio.h> 
int main()
{   
    int fac(int n);
    int n;
    int y;
    printf("input an integer number:");
    scanf("%d",&n);
    y=fac(n);
    printf("%d!=%d\n",n,y);
    return 0;
}
int fac(int n)
{
    int f;
    if(n<0)
        printf("n<0,data error!");
    else if(n==0 || n==1)//0!=1是一种规定 
        f=1;
    else
        f=fac(n-1)*n;
    return(f);
}
/*Dev-c++输出结果: 
    input an integer number:10
    10!=3628800
*/



/*  创建时间:20171228
    创建人:fangweijun(773714759@qq.com)
    功能:汉诺塔问题
    位置:C程序设计(第四版)2010年6月第四版 189页例7.8
*/
#include<stdio.h> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值