实验3 函数的应用

该实验通过C语言实现Fibonacci数列的前20项输出,冒泡排序和选择排序算法,以及递归计算阶乘。实验旨在掌握函数定义、调用、参数传递,理解递归思想和排序算法的工作原理。
摘要由CSDN通过智能技术生成

 1. 实验目的 

(1)掌握C语言中函数定义、函数调用的方法和规则;

(2)掌握函数实参与形参的对应关系,以及“值传递”的含义;

(3)掌握递归函数的设计方法;

(4)掌握全局变量和局部变量的概念和使用方法。  

2. 实验内容

(1)输出Fibonacci数列的前20个数;

(2)用冒泡法对10个数排序;

(3)用选择法实现十个整数的排序;

(4)用递归求阶乘。

3.实验过程

//(1)
#include<iostream> 
using namespace std;
int main()
{
	int a=1,b=1;
	for(int i=1;i<=10;i++)
	{
		cout<<a<<endl<<b<<endl;
		a=a+b;
		b=b+a;
	}
		return 0;
}
 
//(2)
#include<iostream> 
using namespace std;
int main()
{
	int x[10],i,j,t;
	for(i=0;i<10;i++)
	cin>>x[i];
	for(j=0;j<9;j++)
	{
		for(i=0;i<9-j;i++)
			if(x[i]<x[i+1])
			{
				t=x[i];
				x[i]=x[i+1];
				x[i+1]=t;
			}
	}
	for(i=0;i<10;i++)
	cout<<x[i]<<endl;
	return 0;
}
 
//(3)
	int x[10],i,j,t,m;
	for(i=0;i<10;i++)
	cin>>x[i];
	for(i=0;i<10;i++)
	{
		m=i;
		for(j=i+1;j<10;j++)
		 if(x[j]<x[m])
		 {
		 	m=j;
		 }
	  t=x[i];
	  x[i]=x[m];
	  x[m]=t;
	}
	  for(i=0;i<10;i++)
		cout<<x[i]<<endl;
	return 0;
}
 
//(4)
int main()
{
	int fun(int n);
	int n,y;
	cin>>n;
	y=fun(n);
	cout<<y;
	return 0;	 
}
int fun(int n)
{
	int f;
	if(n<0)
		cout<<"error";
	else if(n==0||n==1)
		f=1;
	else f=fun(n-1)*n;
	return(f);
	
}

4.实验结果

1

2

3

4

5.实验感悟

(1)斐波那契数列指的是这样一个数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …这个数列从第三项开始,每一项都等于前两项之和;

(2) 冒泡排序思路:左边大于右边交换一趟排下来最大的在右边;

(3) 选择排序思路:每次从待排序列中选出一个最小值,然后放在序列的起始位置,直到全部待排数据排完即可;

(4) 递归的思想,不断地调用函数自身,五的阶乘可以缩小为5乘以四的阶乘,4可以缩小为4乘以三的阶乘;总而言之,我们是有办法将一个很大的数字的阶乘通过一步步的简化来得到结果的,阶乘的尽头就是,1的阶乘还是1,这时我们就得到一个确切的数了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值