C语言中的自定义函数

时间:2023-12-31 12:01:26

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

自定义函数分为四种

第一种:无参无返回值的

函数的声明

void sayH();

函数的实现

void sayH(){

  printf("你好");
}

第二种:有参数无返回值

函数的声明:

void pxsbx(int c,int k);

函数的实现:

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

函数的调用

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

运行结果

C语言中的自定义函数

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);

效果

C语言中的自定义函数

第四种:有参数无返回值

声明

void add(int num1,int num2);

实现

void add(int num1,int num2)
{ int sum=num1+num2;
printf("%d\n",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==||num==) {
return ;
}else {
return num*MyFun(num-); }
}

调用

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

运行效果

C语言中的自定义函数

2,菲波那切数列数列

函数的声明

int fbsnq(int num);

函数的实现

int fbsnq(int num){
// 递归
if(num==||num==){
return ;
}
return fbsnq(num-)+fbsnq(num-);
//普通
// 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=; i<=; i++) {
if ((i-)%==) {
printf("\n");
}
printf("%10d", fbsnq(i));
} printf("\n\n");

运行结果

C语言中的自定义函数