C代码收藏(一)

C代码收藏(一)

 

从今天开始收藏一些比较常见的小程序代码,留做学习之用。

1.有一分数序列:   2/1, 3/2, 5/3,8/5,13/8, 21/13 ... 求出这个数列的前20项之和。

 

#include <stdio.h>

main()
{
	int i, t, n = 20;
	float a = 2, b = 1, s = 0;
	for (i = 1; i <=n; i++)
	{
		s = s + a/b;
		t = a;
		a = a + b;     //  将前一项与分母之和作为下一项的分子
		b = t;           //   将前一项的分子作为下一项的分母
	}
	printf("sum = %9.6f\n", s);
}

运行结果: sum = 32.660259

 

 

function sum(){
	$t = 0;
	$n = 20;
	$a = 2;
	$b = 1;
	$sum = 0;
	for ($i=1; $i <=$n ; $i++) { 
		$sum = $sum + $a/$b;
		$t = $a;
		$a = $a + $b;
		$b = $t;
	}
	echo "sum = ".$sum;
}

运行结果:32.660260798642

 

2. 球落地反弹问题

    问题描述: 一只球从 100 米高度自由落下,
    每次落地后又反弹回原高度的一半,再落下。求它在第 10 次落地时,共经过多少 m?
    第 10 次反弹多高?

#include <stdio.h>

main()
{
    float sn = 100, hn = sn / 2;
    int n;
    for (n = 2; n <= 10; n++)
    {
        sn = sn + 2 * hn;  /* 第 n次落地时共经过的 米数 */
        hn = hn / 2;          /* 第 n次反跳的高度 */
    }

    printf("第 10 次落地时共经过%f m.\n", sn);
    printf("第 10 次反跳%f m.\n", hn);
}

运行结果:
第 10 次落地时共经过299.609375 m.
第 10 次反跳0.097656 m.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值