《c语言实验报告书1》由会员分享,可在线阅读,更多相关《c语言实验报告书1(8页珍藏版)》请在金锄头文库上搜索。
1、 C语言程序设计 实验报告书专 业: 班 级: 姓 名: 学 号: 实验地点: 任课教师: 实验题目: 实验环境: Visual C+6.0 一、 实验目的1.了解while语句的基本结构,学会使用while循环语句;2.了解dowhile语句的基本结构,学会使用dowhile循环语句;3.了解while和dowhile语句的区别;4.学会用break语句跳出整个循环;5.学会用continue语句提前结束本次循环;6.了解break语句和continue语句的区别;7.学会在循环体中使用多个语句,进一步熟悉循环语句的基本结构;8.学会使用for循环语句,了解for循环语句的基本结构;9.学会
2、使用for循环语句,了解for循环语句的基本结构;10.学会使用嵌套的for循环语句,用break跳出循环;11.学会综合使用循环语句来完成一个程序;12.了解一维数组的定义方法,以及引用一维数组;13.学会使用一维数组,同时学会使用循环语句;14.学会用数组来解决数的排序问题;15.学会定义数组,并且使用for循环语句来完成程序;16.学会用“打擂台算法”以及数组来解决问题;17.学会定义字符数组,并用“初始化列表”对其进行赋值,然后用循环结构实现程序;18.用嵌套for循环语句输出字符数组中的所有字符;19.学会应用一维的和二维的字符数组;20.学会应用一维的和二维的字符数组;二、 实验内
3、容1.用while语句,求1+2+3+100的和;2.用dowhile语句,求1+2+3+100的和;3.while和dowhile循环比较;4.在全系1000名学生中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款人数,以及平均每人捐款数目;5.要求输出100至200之间所有不能被3整除的数;6.输出一个4*5的矩阵;7.用/41-1/3+1/5-1/7+公式求的近似值,直到发现某一项的绝对值小于106为止;8.求Fibonacci数列的前40个数。这个数列有如下特点:第1,2两个数为1,1.从第三个数开始,该数是前面两个数之和。9.输入一个大于3的整数n,判断它是否为素数;10.求
4、100至200之间所有的素数;11.译密码。为了使电文保密,往往按照一定规律将其转换成密码,收报人再按约定的规律将其翻译回原文;12.对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出;13.用数组来处理求Fibonacci数列问题;14.有10个地区的面积,要求对它们阿布由小到大的顺序排列;15.将一个二维数组行和列的元素互换,存到另一个二维数组中;16.有一个3*4的矩阵,要求编写程序求出其中值最大的那个元素的值,以及其所在的行号和列号;17.先定义一个字符数组,并用“初始化列表”对其赋以初值。然后用循环逐个输出此字符数组中的字符;18.输出一个菱形图;19.
5、输入一行字符,统计其中有多少个单词,单词之间用空格分隔开;20.有3个字符串,要求找出其中最大者。三、 实验结果1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.四、 实验中存在的问题及解决办法1.第一个程序是while语句的简单应用,比较简单,没有什么遇到问题;2.一开始把while(i=100)这句话写到do的循环体里面了,编译的时候遇到了错误,后来看了书上循环语句的结构,把错误改正过来了;3.这个程序在写的时候没有什么遇到困难,分析了一下,知道了while和dowhile的区别:dowhile执行循环体的时候,是无条件执行,而while
6、执行的时候是先看条件,所以当i的值超出10的时候,两个程序的结果会不一样;4.刚开始写的时候没有定义一个SUM=100000,所以不能正常的运行,我是参考了书上的例子才把程序纠正过来的;5.这个程序中唯一的问题就是在printf(%d ,n)的%d之后忘记空格,所以一开始运行出来的结果数字都是连在一起的;我在运行之后发现了这个问题,所以自己能够改正过来;6.一开始写if(n%5 = 0)这句话的时候,等于符号只写了一个,由于一个等号在C程序中不代表等号,所以不能正常运行,后来自己检查了一遍发现了问题;7.一开始头文件中忘记引用math.h,所以当引用绝对值的时候出现了错误,后来我通过看书,改正
7、了错误;8.这个程序在编写的时候没有遇到什么问题;9.这个程序一开始写的时候,不小心在for语句的后面加了一个分号,然后导致编译的时候,出现错误:break是非法的,我在网上百度了一下,百度知道里面的解释是:break只能用在循环语句中,而由于for后面有分号,表示循环语句结束,所以break的使用是非法的,从这个程序我牢记了break使用最基本的规则:即必须用在循环语句内部;10.这个程序一开始写的时候,因为嵌套语句比较多,所以一开始有点混乱,后来自己慢慢理清了思路,把嵌套语句理顺了,也就能够运行了;11.这个程序是对循环结构的综合运用,在写的时候要注意&的优先级高于|,所以在用if结构进行
8、嵌套的时候要想清楚;12.这个程序让我基本能够掌握定义一维的数组的方法,没有遇到什么困难;13.这个程序让我了解了怎么让数字按照每行几个来输出,即使用if(i%5=0)printf(n)这个语句,整个程序没有遇到什么困难;14.一开始在scanf(%d,&ai)语句中忘记了&符号,scanf函数的格式也就错了,后来是自己检查出来的问题,改正了过来;15.一开始把bji=aij写成了bij=aij,导致运行出来第二个矩阵怎么都不正确,后来经过调试发现,错误出现在这一步中,仔细一看,i和j写反了,改正过来后程序能够正常运行;16.一开始我忘记定义row和colum的初始值了,所以程序出现错误,后来是我看了书才发现了错误就,改正了过来;17.在定义字符数组的时候,忘记单词与单词之间的空格了,在单引号里面没有输入空格,所以编译的时候,出现了错误:字符的定义不清楚,后来经过调试发现错误的所在处,改正了以后程序就可以运行了;18.这个程序在写的时候没有遇到什么大的困难,就是一开始不清楚“*”具体的位置,不知道到底隔几个空格才是*号,后来看书以后知道了;19.这个程序在写的时候吸取了前面几个程序所遇到的问题,所以很顺利;20.这个程序不太懂是什么意思,所以是边看书边写的程序,大部分能够理解;1