- 实验七 函数
- 一、实验目的及要求
- 二、实验环境
- 三、实验内容
- 实验题目(1)
- 实验题目(2)
- 实验题目(3)
- 实验题目(4)
- 实验题目(5)
1.掌握函数的概念,分类,定义和调用。 2.熟练编写函数实现特定的通用功能。二、实验环境
硬件要求:计算机一台。 软件要求:Windows *** 作系统,Dev-C++或VC++6.0编译环境三、实验内容 实验题目(1)
写一个函数,用“选择法”对输入的5个字符按照由小到大顺序排列。要求使用数组作为函数参数。
博主觉得,这道题目的算法不是重点,重点是函数的调用,初学者刚开始使用函数的时候有可能会出错,但是多加练习之后会逐渐熟悉的。
源代码如下:
#includevoid sort(int a[]){ int i,j,temp; for(i=1;i<5;i++){ for(j=1;j<5;j++){ if(a[j]
实验题目(2)编写函数,利用递归方法求解正整数的阶乘。在主函数中输入正整数并调用该函数。这题的重点就是递归函数,递归函数也是C语言考察的一个重点,初学者可能会有点迷惑,不过不要紧,多练几道题就行了。
代码如下:
#includeint func(int n) { while(n>1) return n * func(n - 1); } int main() { int n; printf("请输入一个正整数:n"); scanf("%d", &n); printf("%d! = %d", n, func(n)); return 0; }
实验题目(3)编写函数求解圆面积,圆柱的体积,体积函数调用圆面积函数。在主函数中输入圆半径r和高h。博主表示,这道题目的重点是函数的嵌套调用,也不是很难,熟悉熟悉就会了。
源代码如下:
#includeconst double PI=3.14; double area_circle(double r){ return r*r*PI; } double volume_cylinder(double r,double h){ return area_circle(r)*h; } int main() { double r,h; printf("请输入圆的半径以及圆柱体的高:n"); scanf("%lf%lf",&r,&h); printf("圆的面积是:%lfn圆柱的体积是:%lf",area_circle(r),volume_cylinder(r,h)); return 0; }
实验题目(4)编写函数实现指定层数的杨辉三角形。这道题目,已经是经典的不能再经典的题目了,数学功底好的很快就行写出来了,话不多说,上代码來。
源代码如下:
#includeint get_element(int x,int y) { if (y==1||y==x) { return 1; } return get_element(x-1,y-1)+get_element(x-1,y); } void triangle(int len) { int i,j; for (i = 1; i <= len; i++) { for (j = 1; j <= i ; j++) { printf("%dt",get_element(i,j)); } printf("n"); } } int main() { int n; printf("请输入想得到杨辉三角形的行数:n"); scanf("%d",&n); triangle(n); return 0; }
实验题目(5)编写函数输出指定行数的星星等腰三角形。
博主表示,这个题目在循环那一章已经出现过,只不过是通过调用函数的方法完成任务。其实道理都是一样的,也不是很复杂,初学者也很快就能理解的。源代码如下:
#includevoid triangle(int n){ int i,j,space_num=n-1; for(i=1; i<=n; i++) { for(j=1; j<=space_num; j++) printf(" "); for(j=1; j<=i*2-1; j++) printf("*"); printf("n"); space_num--; } } int main() { int n; printf("请输入想得到等腰三角形的行数:n"); scanf("%d",&n); triangle(n); return 0; } 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)