C语言在个位找出是6的,c语言课件第6章(大一).ppt

c语言课件第6章(大一)

算法 排序算法 嵌套与递归 深入模块化设计与应用 嵌套与递归 函数的嵌套调用的执行过程: 算法 排序算法 嵌套与递归 深入模块化设计与应用 嵌套与递归 计算s=1k+2k+3k+……+Nk  算法 排序算法 嵌套与递归 深入模块化设计与应用 嵌套与递归 #include void main(void) { int n=0,k=0; printf("Input add to number:"); scanf("%d",&n); printf("Input number of power:"); scanf("%d",&k); printf("Sum of %d powers of integers from 1 to %d = ",k,n); printf("%ld\n",Add(n,k)); } 算法 排序算法 嵌套与递归 深入模块化设计与应用 嵌套与递归 long Add(int n,int k) { long lSum=0; int i; for(i=1;i<=n;i++) lSum += Power(i, k); return lSum; } long Power (int n,int k) { long lPowerVal=n; int i; for(i=1;i #include long fac (int n)/*计算n!*/ { long f; if(n<0) printf("n<0,data error!"); else if(n==0||n==1) f=1; else f=fac(n-1)*n; return (f); } void main(void) { int n=0,k=0; long s; printf("input number:"); scanf("%d",&n); s=fac(n); printf("n!=%d\n",s); /*计算结果并输出*/ } 递归出口 递归式 算法 排序算法 嵌套与递归 fac(5) fac(4) fac(3) fac(2) fac(1) 1 2 6 24 #include #include long fac (int n)/*计算n!*/ { long f; if(n<0) printf("n<0,data error!"); else if(n==0||n==1) f=1; else f=fac(n-1)*n; return (f); } long fac (int n)/*计算n!*/ { long f; if(n<0) printf("n<0,data error!"); else if(n==0||n==1) f=1; else f=fac(n-1)*n; return (f); } 算法 排序算法 嵌套与递归 算法 排序算法 嵌套与递归 模块间批量数据传递 深入模块化设计与应用 模块间批量数据传递 (1)指针作为函数参数 指针变量存储的是一个地址,通过指针变量可以访问这个地址中所存储的值。如果这个指针变量所指的地址为数组的首地址(数组名),那么按照指针的运算方式就可以访问数组中的所有元素,如果能把这个指针作为函数的参数,则在函数中就可以对此数组中的所有元素进行操作了。这就是在研究模块间批量数据传递时首先谈指针参数的意义之所在。 算法 排序算法 嵌套与递归 模块间批量数据传递 深入模块化设计与应用 例 设计一个有两个参数函数Swap,函数Swap能够完成对这两个参数的值的交换。 演示 算法 排序算法 嵌套与递归 模块间批量数据传递 深入模块化设计与应用 模块间批量数据传递 (2)数组名作为函数参数 1)一维数组作为函数参数 数组是相同类型的数据集合,如果能把它作为函数参数,则能够实现相同类型数据的批量传递。前面刚讲了用指针做为函数的参数,而数组名表示数组的首地址,则数组也能做为函数参数实现数据的批

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值