2021-04-07

/*阶乘*/

#include<stdio.h>

 /*函数的构成,有返回值,参数*/

double fun(int x)//  针对x数值大的,int 65535 

{

 int i;

 double f=1.0;//同理,double赋值1.0

 for(i=1;i<=x;i++)

  f*=i;

 return(f);

}

int main()

{

 int m;

 double count;

 printf("输入阶乘的值:");

 scanf("%d\n",&m);

 count= fun(m);

 printf("%d阶乘的值:%.2f\n",m,count);//%.2f,double位%f 保留小数点后2位

return 0;

}
/*比较大小,数可多个*/

#include<stdio.h>

float fun(float x,float y)//  针对x,y数值位小数的

{

 float i;

 if(x>y)

  i=x;

 else

  i=y;

 

 //i=x>y?x:y;

 

 return(i); 

}

int main()

{

 float x,y,count;

 printf("输入比较的值:");

 scanf("%f%f\n",&x,&y);

 count= fun(x,y);

 printf("值:%f\n",count);

 

 //count= fun(9,fun(x,y));// 比较3个数大小,聪明

return 0;

}
/*求输入n个数的平均数*/

#include<stdio.h>

void fun(int x)//  无返回值

{

 int i,x;

 float sum,ave;

 printf("计算n个整数:\n",x);//  具体值

 for(i=1;i<=x;i++)

 {

  scanf("%d",&X);//  不需要数组,一个个读进去就加

  sum+=x;

 }

 ave=sum/x;

 printf("ave=\n",ave);  

}

int main()

{

 int n;

 printf("计算n个整数的平均数,输入n:\n");//  个数

 scanf("%d",&n);//  读进去

 fun(n); 

return 0;

}

数组元素作为函数参数

利用循环首先要一一读取元素

数组名作为函数参数

/*冒泡排序*/

#include<stdio.h>

#define N 4

void sort(int a[N])//  形参数组不能指定长度,可专门定义形参,比宏定义好sort(int a[],b)

{

 int i,t,j;

 int a[N];

 for(i=0;i<=N;i++)

  scanf("%d",&a[i]);//  存进数组a中

       //  a和下面的(n-1)个数比,则,

 for(i=0;i<N-1;i++)//  N-1重要

  for(j=0;j<N-1-i;j++) //  N-1重要 先内部比完,注意次数,第i趟比较N-i趟

   if(a[j]>a[j+1])

           {

      t=a[j];

     a[j]=a[j+1];

      a[j+1]=t;

     }

}

int main()

{

 int a[N],i;

 printf("排序前的数组\n");

 for(i=0;i<N;i++)

  scanf("%d",&a[i]);

 sort(a);

 printf("排序后的数组(小到大)\n");

 for(i=0;i<N;i++)     //  一定要注意i<N

  printd\f("%d",a[i]);

return 0;

}

函数的嵌套调用

递归函数:

一个函数在他的函数体内直接或间接调用他本身

分治算法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值