1.掌握函数的概念,分类,定义和调用。 2.熟练编写函数实现特定的通用功能。
硬件要求:计算机一台。 软件要求:Windows操作系统,Dev-C++或VC++6.0编译环境
写一个函数,用“选择法”对输入的5个字符按照由小到大顺序排列。要求使用数组作为函数参数。
博主觉得,这道题目的算法不是重点,重点是函数的调用,初学者刚开始使用函数的时候有可能会出错,但是多加练习之后会逐渐熟悉的。
源代码如下:
#include<stdio.h> void sort(int a[]){ int i,j,temp; for(i=1;i<5;i++){ for(j=1;j<5;j++){ if(a[j]<a[j-1]){ temp=a[j-1]; a[j-1]=a[j]; a[j]=temp; } } } for(i=0;i<5;i++){ printf("%d",a[i]); } } int main() { int a[5]; int i; printf("Please input 5 nums:\n"); for(i=0;i<5;i++){ scanf("%d",&a[i]); } printf("after sort:\n"); sort(a); return 0; }
编写函数,利用递归方法求解正整数的阶乘。在主函数中输入正整数并调用该函数。
这题的重点就是递归函数,递归函数也是C语言考察的一个重点,初学者可能会有点迷惑,不过不要紧,多练几道题就行了。
代码如下:
#include <stdio.h> int 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; }
编写函数求解圆面积,圆柱的体积,体积函数调用圆面积函数。在主函数中输入圆半径r和高h。
博主表示,这道题目的重点是函数的嵌套调用,也不是很难,熟悉熟悉就会了。
源代码如下:
#include<stdio.h> const 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("圆的面积是:%lf\n圆柱的体积是:%lf",area_circle(r),volume_cylinder(r,h)); return 0; }
编写函数实现指定层数的杨辉三角形。
这道题目,已经是经典的不能再经典的题目了,数学功底好的很快就行写出来了,话不多说,上代码