c语言-函数练习

有参函数

【有返回值】
编写一程序,输入4个数字,输出前两个、后两个和四个数中的最大数。

#include <stdio.h>
int main()
{
    float max(float x,float y);  //引用max函数
    float a[4];                  //定义数组a
    int i;
    float t,u,v;
    for(i=0;i<=3;i++)
    {
        printf("请输入第%d个数字",i+1);
        scanf("%f",&a[i]);
    }
        t=max(a[0],a[1]);
        u=max(a[2],a[3]);
        v=max(t,u);

        printf("前两个数中最大的为%f\n",t);
        printf("后两个数中最大的为%f\n",u);
        printf("四个数中最大的为%f\n",v);
     return 0;
  }

 float max(float x,float y)      //解释max函数的规则
 {
    return(x>y?x:y);            //代替if语句,提高效率
 }

在这里插入图片描述

无参函数

【无返回值】

函数的嵌套

请编程输入4个整数,并找出其中最大的数。

#include <stdio.h>
int main()
{
  int max4(int a,int b,int c,int d);
  int a,b,c,d,max;
  printf("请输入4个整数:\n");
  scanf("%d,%d,%d,%d",&a,&b,&c,&d);
  max=max4(a,b,c,d);
  printf("最大数为%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);
  }

在这里插入图片描述

函数的递归

1.现有5位同学,第一位同学10岁,第二位比第一位大两岁,第三位比第二位大两岁……编程输出第五位同学的年龄。

#include <stdio.h>
int main()
{
  int age(int n);
  printf("第五个学生的年龄%d\n",age(5));
  return 0;
  }

  int age(int n)
  {
      int x;
      if(n==1)
     {
        x=10;
     }

      else
       {
           x=age(n-1)+2;
       }
      return(x);

  }

在这里插入图片描述
2.用递归法求n!

#include <stdio.h>
int main()
{
  int jiecheng(int n);
     int n;
     printf("请输入一个整数");
     scanf("%d",&n);
     printf("%d!=%d\n",n,jiecheng(n));
     return 0;
  }

  int jiecheng(int n)
  {
   int x;
     if(n<0)
    printf("数据有误\n");
   
   else if(n==0||n==1)
    x=1;

   else
    x=jiecheng(n-1)*n;
   return(x);

  }

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值