C语言编程练习(五)(vs2015)

转载自:https://blog.csdn.net/xia0liang/article/details/53157455

【程序24】
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
1.程序分析:请抓住分子与分母的变化规律。
2.程序源代码:

#include "stdio.h"
#include "stdlib.h"
//#include <windows.h>
int main()
{
	//SetConsoleOutputCP(437);
	int n, t, number = 20;
	float a = 2, b = 1, s = 0;
	for (n = 1; n <= number; n++)
	{
		s = s + a / b;
		t = a; a = a + b; b = t;
	}
	printf("sum is %9.6f\n", s);
	system("pause");
}

【程序25】
题目:求1+2!+3!+...+20!的和
1.程序分析:此程序只是把累加变成了累乘。
2.程序源代码:

#include "stdio.h"
#include "stdlib.h"
//#include <windows.h>
int main()
{
	//SetConsoleOutputCP(437);
	float n, s = 0, t = 1;
	for (n = 1; n <= 20; n++)
	{
		t = t*n;
		s = s + t;
	}
	printf("1+2!+3!+...+20!=%e\n", s);
	system("pause");
}

【程序26】
题目:利用递归方法求5!。
1.程序分析:递归公式:fn=fn_1*4!
2.程序源代码:

#include "stdio.h"
#include "stdlib.h"
//#include <windows.h>
int fact(int j)
{
	int sum;
	if (j == 0)
		sum = 1;
	else
		sum = j*fact(j - 1);
	return sum;
}
int main()
{
	//SetConsoleOutputCP(437);
	int i;
	scanf("%d", &i);
	printf("%d!=%d\n", i,fact(i));
	system("pause");
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值