《C语言实验报.docx》由会员分享,可在线阅读,更多相关《C语言实验报.docx(4页珍藏版)》请在三一办公上搜索。
1、C语言实验报一、实验目的 1. 掌握函数的定义、调用和参数的传递方式。 2. 掌握数组的定义、初始化,以及数组元素的下标法引用和指针法引用。 二、实验内容 1. 输出 Fibonacci 序列 程序填空,不要改变与输入输出有关的语句。 输入 2 个正整数m 和n(1=m,n=m&f=n) /*确定f是在m、n之间*/ printf(“%d”,f); long fib(int n) /*定义求第n项Fibonacci数的函数*/ int i,x1,x2,x; /*x1、x2一次代表前两项,x表示其后一项*/ x1=1; /*前两项都是1*/ x2=1; for(i=1;i=n-2;i+) /*循
2、环输出后n-2项*/ x=x1+x2; /*计算新项*/ x1=x2; /*更新x1和x2,为下一次计算新项x做准备*/ x2=x; 截图: 2.十进制转换二进制 程序填空,不要改变与输入输出有关的语句。 输入 1 个正整数n,将其转换为二进制后输出。 要求定义并调用函数 dectobin(n),它的功能是输出 n 的二进制。例如,调用dectobin(10),输出1010。 输出语句:printf(%d); 文件命名-学号C2.C 主要代码: #include int main(void) int i,n; void dectobin(int n); scanf(%d,&n); dectob
3、in(n); /*定义函数,将n转换为二进制之后的数值*/ printf(n); void dectobin(int n) if(n1) dectobin(n/2); printf(%d,n%2); /*输出二进制数值*/ 截图: 3.求平均值 程序填空,不要改变与输入输出有关的语句。 输入一个正整数 n (1n=10),再输入n 个整数,输出平均值。 文件命名-学号C3.C 主要代码: #include int main int i, n,; float aver,sum=0; int a10; scanf(%d, &n); for(i=0; in; i+) scanf(%d, &ai);
4、for(i=0;in;i+) sum=sum+ai; /*求和*/ aver=sum/n; /*求n个整数的平均值*/ printf(aver=%.2fn, aver); /*输出平均值*/ 截图: 4.求最大值及其下标 程序填空,不要改变与输入输出有关的语句。 输入一个正整数 n (1n=10),再输入n 个整数,输出最大值极其下标。 文件命名-学号C4.C 主要代码: #include int main(void) int i, index, n; int a10; scanf(%d, &n); for(i=0; in; i+) scanf(%d, &ai); /*找最大值aindex*/
5、 index=0; /*假设a0是最大值,即下标为0的元素最大*/ for(i=1; iaindex) /*如果ai比假设的最大值还大*/ index=i;/*再假设ai是新的最大值,即下标为i的元素最大*/ printf(max=%d,index=%dn, aindex,index);/*输出最大值和相应的下标*/ 截图: 三、收获、体会及问题 收获、体会:总的来说,这次实验的完成是不大轻松的,尤其是在对数组的相关学习方面,在实验的过程中暴露了诸多问题,说实话,数组这一章节的内容可以算是一个瓶颈,但经过实验操作以及对书本相应例题的研究,加深了对函数的定义、调用和参数的传递方式的理解,同时也进一步掌握了数组的定义、初始化以及数组元素的下标法引用和指针法引用。 问题:实验过程中,明显暴露出来的问题是对数组这一最基本的构造类型不够熟悉,对数组名和下标来确定数组元素也了解地不够透彻,在实验后,其实只要了解数组的构造方法即可。