zoukankan      html  css  js  c++  java
  • 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("
    
    ");
      

    运行结果

  • 相关阅读:
    Chrome开发者工具中Elements(元素)断点的用途
    最简单的SAP云平台开发教程
    Java实现 LeetCode 495 提莫攻击
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 492 构造矩形
  • 原文地址:https://www.cnblogs.com/qianLL/p/5089892.html
Copyright © 2011-2022 走看看