实验报告书 c语言,c语言实验报告书.doc

C语言程序设计

实验报告书

专 业: 班 级:

姓 名: 学 号:

实验地点: 任课教师:

实验题目:

实验环境: Visual C++6.0

一、 实验目的

1.了解while语句的基本结构,学会使用while循环语句;

2.了解do…while语句的基本结构,学会使用do…while循环语句;

3.了解while和do…while语句的区别;

4.学会用break语句跳出整个循环;

5.学会用continue语句提前结束本次循环;

6.了解break语句和continue语句的区别;

7.学会在循环体中使用多个语句,进一步熟悉循环语句的基本结构;

8.学会使用for循环语句,了解for循环语句的基本结构;

9.学会使用for循环语句,了解for循环语句的基本结构;

10.学会使用嵌套的for循环语句,用break跳出循环;

11.学会综合使用循环语句来完成一个程序;

12.了解一维数组的定义方法,以及引用一维数组;

13.学会使用一维数组,同时学会使用循环语句;

14.学会用数组来解决数的排序问题;

15.学会定义数组,并且使用for循环语句来完成程序;

16.学会用“打擂台算法”以及数组来解决问题;

17.学会定义字符数组,并用“初始化列表”对其进行赋值,然后用循环结构实现程序;

18.用嵌套for循环语句输出字符数组中的所有字符;

19.学会应用一维的和二维的字符数组;

20.学会应用一维的和二维的字符数组;

二、 实验内容

1.用while语句,求1+2+3+…+100的和;

2.用do…while语句,求1+2+3+…+100的和;

3.while和do…while循环比较;

4.在全系1000名学生中,征集慈善募捐,当总数达到10万元时就结束,统计此时捐款人数,以及平均每人捐款数目;

5.要求输出100至200之间所有不能被3整除的数;

6.输出一个4*5的矩阵;

7.用π/4≈1-1/3+1/5-1/7+…公式求π的近似值,直到发现某一项的绝对值小于10^6为止;

8.求Fibonacci数列的前40个数。这个数列有如下特点:第1,2两个数为1,1.从第三个数开始,该数是前面两个数之和。

9.输入一个大于3的整数n,判断它是否为素数;

10.求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.输入一行字符,统计其中有多少个单词,单词之间用空格分隔开;

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和do…while的区别:do…while执行循环体的时候,是无条件执行,而while执行的时候是先看条件,所以当i的值超出10的时候,两个程序的结果会不一样;

4.刚开始写的时候没有定义一个SUM=100000,所以不能正常的运行,我是参考了书上的例子才把程序纠正过来的;

5.这个程序中唯一的问题就是在printf("%d ",n)的%d之后忘记空格,所以一开始运行出来的结果数字都是连在一起的;我在运行之后发现了这个问题,所以自己能够改正过来;

6.一开始写if(n%5 == 0)这句话的时候,等于符号只写了一个,由于一个等号在C程序中不代表等号,所以不能正常运行,后来自己检查了一遍发现了问题;

7.一开始头文件中忘记引用math.h,所以当引用绝对值的时候出现了错误,后来我通过看书,改正了错误;

8.这个程序在编写的时候没有遇到什么问题;

9.这个程序一开始写的时候,不小心在for语句的后面加了一个分号,然后导致编译的时候,出现错误:break是非法的,我在网上百度了一下,百度知道里面的解释是:break只能用在循环语句中,而由于for后面有分号,表示循环语句结束,所以break的使用是非法的,从这个程序我牢记了break使用最基本的规则:即必须用在循环语句内部;

10.这个程序一开始写的时候,因为嵌套语句比较多,所以一开始有点混乱,后来自己慢慢理清了思路,把嵌套语句理顺了,也就能够运行了;

11.这个程序是对循环结构的综合运用,在写的时候要注意&&的优先级高于||,所以在用if结构进行嵌套的时候要想清楚;

12.这个程序让我基本能够掌握定义一维的数组的方法,没有遇到什么困难;

13.这个程序让我了解了怎么让数字按照每行几个来输出,即使用if(i%5==0)

printf("\n")这个语句,整个程序没有遇到什么困难;

14.一开始在scanf("%d",&a[i])语句中忘记了&符号,scanf函数的格式也就错了,后来是自己检查出来的问题,改正了过来;

15.一开始把b[j][i]=a[i][j]写成了b[i][j]=a[i][j],导致运行出来第二个矩阵怎么都不正确,后来经过调试发现,错误出现在这一步中,仔细一看,i和j写反了,改正过来后程序能够正常运行;

16.一开始我忘记定义row和colum的初始值了,所以程序出现错误,后来是我看了书才发现了错误就,改正了过来;

17.在定义字符数组的时候,忘记单词与单词之间的空格了,在单引号里面没有输入空格,所以编译的时候,出现了错误:字符的定义不清楚,后来经过调试发现错误的所在处,改正了以后程序就可以运行了;

18.这个程序在写的时候没有遇到什么大的困难,就是一开始不清楚“*”具体的位置,不知道到底隔几个空格才是*号,后来看书以后知道了;

19.这个程序在写的时候吸取了前面几个程序所遇到的问题,所以很顺利;

20.这个程序不太懂是什么意思,所以是边看书边写的程序,大部分能够理解;

8

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值