西南林业大学学生实习报告学生姓名:许宝学号:20091152024实验名称:C程序设计基础实习1.实习题目一计算累加1+2+3+···+n2.实习内容(主要写做了什么,怎么做的(含主要方法、主要代码、主要界面截图)1计算本题用到了子函数以及主函数。在子函数中主要计算累加的过程,可根据n值得不同调用实现多个不同数的累加。在主函数中输入想累加的值,输出的值在子函数中输出就不需要返回结果的。用到累加结果放入s中,在累加循环控制变量的循环中不断的更新s值,直到(in)才跳出循环。2主要运行过程下面的是运行程序的编写的主界面,在该界面运行的时候先编译在执行。这是程序的运行结果。当提示用户输入一个值时,用户输入的是5,那么该程序计算的是1+2+3+4+5的结果。按回车键的相处结果是15.二编写函数,求一维int型数组的最大值1.本题用到了一维数组和函数共同完成的。用到循环控制变量i。在主函数中输入一维数组的各个元素,并把数组和输入元素的个数传到子函数,在子函数中执行找出最大的元素来。在这过程中实现了从主函数到子函数的过程。下面是输入vc++6.0中打入的编程代码并执行结果。三.题目编写函数求矩阵的和(2个矩阵之和)。1.本体主要运用了主函数和子函数共同完成的。在子函数中分别输入2个矩阵的各个元素。然后再在函数处理实现2个矩阵相加,把相加的结果放到第三个矩阵中。这样就在子函数中实现编写。而在主函数中通过调用函数的形式,把子函数中的数据实现矩阵相加。在输入矩阵时候要定义输入的元素。2.下面是编写该矩阵相加的代码:3.通过编写的代码编译执行后得到的结果是:当用户输入的第一个矩阵时并输出第一矩阵。然后输入第二矩阵。在得到2个矩阵之和时候输出结果。四对函数传一个字符串,进行整理产生新串,返回新串。新串中第一部分是数字,第二部分是小写字母,第三部分是大写字母,第四部分是其它字符。1.对于该问题也是由2个部分构成。即子函数和主函数。主函数的功能是在输入一串字符并用gets()输入到子函数中去,实现了从主函数到子函数的传递。子函数中重新定义了一个数组b[]。根据需先后顺训输出的字符逐个输出到字符数组b中去。当全部输出之后,再把字符数组b输出puts().2.下面是编程的全部程序:3通过在编译到执行过程。用户输入一段字符串,通过数字,小写,大写,其他字符的顺训一次输出来。可以在图中看出。五.学生记录由姓名、三门成绩和平均分构成。定义一个结构来体现这种记录。并完成下列功能(子函数):(1)录入三条记录并存入文件data.dat中(2)从文件中读出记录,存入动态数组中,按平均分由大到小排序后,回写到文件中。(3)从键盘输入一条记录,插入到文件中,使文件中的记录仍然是有序的。(4)显示文件中的记录。在主函数中编写菜单来调用子函数。1在这题中主要运用到了结构体变量和文件存储。首先定义一个结构体变量,然后再结构体变量中定义3个学生的信息。并把这一组数据保存在data.dat。当输入的3个学生的信息,按该三个学生三门成绩进行平均分。并按平均分进行排序。这里用到了排序。把三名学生的成绩输入完成后,来插入一个学生信息。也是要按刚刚拍的顺序插入。是原来的顺序继续存在。2在这题中运用指针函数,子函数和主函数共同组成。第一个子函数是将原有的三个学生的信息进行排序。第二个子函数是插入函数并排序。4.下面是程序的编写过程:在这个程序的编译然后是执行过程中。依次输入3个学生信息。然后又插入一个学生。执行后的结果是。六链表的常用操作,完成下列子函数,并写主函数调用。(5)建立链表(6)显示链表中的数据(7)在链表中插入结点(8)删除链表中的结点(9)链表中的数据存盘(10)通过读出文件中的内容建立链表在主函数中编写菜单来调用子函数。1.在结构体中定义一个学生的信息。然后用链表的格式将所有的信息用法一个链表连起来。在链表中插入和删除节点操作了。2.下面是运行程序后所得到结果:5.实习心得通过这样的实习,看出函数的功能强大,可以简化程序,让程序变成一个一个的模块,便于编写,同时函数也是可以减小内存。大大减少空间。学习使用函数的过程中也穿插了学习使用了数组、指针、结构体、文件格式。让我知道c语言的功能强大,数据类型运用灵活。在以后的日子里还需要好好的锻炼自己的编程能力。指导教师:赵家刚、王欢日期:2010年6月24日课程名称:C程序设计基础成绩: