• C语言中的自定义函数


    C语言中可以使用系统函数也可以使用自己的函数,就是自定义函数

    自定义函数分为四种

    第一种:无参无返回值的 

    函数的声明

    void sayH();

    函数的实现

    void sayH(){
      
      printf("你好");
    }

    第二种:有参数无返回值

    函数的声明:

    void pxsbx(int c,int k);

    函数的实现:

    void pxsbxx(int c,int k){
        int i,j;
        for (i=0; i<c; i++) {
            for (j=0; j<=i; j++) {
                printf(" ");
            }
            for (j=0; j<k; j++) {
                if (j==0||j==k-1||i==0||i==c-1) {
                    printf("*");
                }else{
                      printf(" ");
                }
          
            }
            printf("
    ");
        }
    
    
    }

    函数的调用

     int c,k;
        printf("请输入长:");
        scanf("%d",&c);
        printf("请输入宽:");
        scanf("%d",&k);
        pxsbxx(c, k);

    运行结果

    3,有参数有返回值

    声明:

    int add1(int num1,int num2,int num3);

    实现

    int add1(int num1,int num2,int num3){
        int sum=num1+num2+num3;
        return sum;
    
    }

    调用

     int num1,num2,num3,sum;
        scanf("%d%d%d",&num1,&num2,&num3);
        sum=add1(num1, num2,num3);
        printf("%d",sum);

    效果

     第四种:有参数无返回值

    声明

    void add(int num1,int num2);

    实现

    void add(int num1,int num2)
    {
    
        int sum=num1+num2;
        printf("%d
    ",sum);
    }
    

    二,递归函数(两个简易的递归调用)

    1,阶乘

    函数的声明

    int MyFun(int num);

    函数的实现

    int MyFun(int num){
    //    普通函数
    //    int sum1=1;
    //    for (int i=1; i<=num; i++) {
    //        sum1*=i;
    //    }
    //    return sum1;
        //  递归调用
        if (num==1||num==0) {
            return 1;
        }else {
            return num*MyFun(num-1);
        
        }
    }

    调用

     printf("sum=%d ",MyFun(6));

    运行效果

    2,菲波那切数列数列

    函数的声明

    int fbsnq(int num);

    函数的实现

    int fbsnq(int num){
       // 递归
        if(num==1||num==2){
            return 1;
        }
        return fbsnq(num-1)+fbsnq(num-2);
        //普通
    //    int n1=1,n2=1,temp=0;
    //    if (num==1||num==2) {
    //        return 1;
    //    }
    //    int i=2;
    //    for(;i<num;i++){
    //        temp=n1+n2;
    //        n1=n2;
    //        n2=temp;
    //    }
    //    return temp;
    }

    函数的调用

        for (int i=1; i<=30; i++) {
            if ((i-1)%5==0) {
                printf("
    ");
            }
                printf("%10d",  fbsnq(i));
        }
    
        printf("
    
    ");
      

    运行结果

  • 相关阅读:
    pyqt登录界面设计
    pyqt 学习
    P2350-[HAOI2012]外星人【线性筛】
    P6775-[NOI2020]制作菜品【贪心,dp】
    Tensorflow2.0笔记31——卷积神经网络
    Tensorflow2.0笔记30——卷积神经网络
    Tensorflow2.0笔记29——全连接内容回顾
    Tensorflow2.0笔记28——应用程序,给图识物
    Tensorflow2.0笔记27——acc/loss 可视化,查看效果
    Tensorflow2.0笔记26——参数提取,写至文本
  • 原文地址:https://www.cnblogs.com/qianLL/p/5089892.html
Copyright © 2020-2023  润新知