
C语言程序设计-实验第三次上机实验报告.doc
10页4.第三次实验C语言程序设计 实验报告专业 计算机科学与技术 班级 信安1302班 日期 成绩 实验组别 第 3 次实验 流程控制实验 指导教师 学生姓名 学号 同组人姓名 实验名称 流程控制实验 4.1实验目的1.掌握复合语句,if语句,switch语句的使用,熟练掌握for,while,do-while三种基本的循环控制语句的使用,掌握重复循环技术,了解转移语句与标号语句2.掌握运用for,while,do-while语句来编写程序3.练习转移语句和标号语句的使用4.使用集成开发环境的调试功能:单步执行,设置断点,观察变量值4.2实验内容(一)在不用数组的情况下求n个数的最大值最小值和平均值源程序如下shangji3\chengxu14#include 步骤二:键入n的值,输入第一个数的值,并将此值赋给最大值和最小值在循环结束前,将后来输入的数分别与当前最大值和最小值比较,不断将目前的最大值和最小值分别赋给两个变量在不断输入的过程中,将后来输入的数加到s上步骤三:循环结束,输出最大值和最小值,并将和除以n得平均值调试及编译过程:测试数据:n=5,输入11,12,13,14,15测试数据:n=5,输入15,14,13,12,11(反向输入)出现的不足及修改:1.如何控制输入的数为n个时,本来将i的循环条件写为i<=n,发现这样写得输入n+1个数才能将输入流中的数送入运算器这样的错误时由于没有完全弄明白do while循环的特点,后改为i<=n-1,这样输入倒数第二个数时还要进行最后一次循环,于是输入最后一个数二)依据下列格里高利公式,计算圆周率π要求最后一项<10-6源程序如下:shangji3\chengxu15#include 步骤三:结束循环,将累次相加的结果输出调试及编译过程:出现的不足及修改:无 运行结果:输出预期的结果三)完全数是一些特殊的自然数它所有的真因子(即除了自身以外的约数)的和恰好等于它本身试求出1~1000范围内的所有完全数源程序如下:shangji3\chengxu16#include 调试及编译过程: 出现的不足及修改:无 运行结果:输出预期的结果四)水仙花数是指一个 3 位数,它的每个位上的数字的 3 次幂之和等于它本身例如:13 + 53 + 33 = 153试求出所有的水仙花数源程序如下:shangji3\chengxu17#include 步骤二:建立一个循环过程将100到999之间的数试一遍,调用子函数逐个判断哪些是水仙花数并输出调试及编译过程:出现的不足及解决:1.第一次编写程序的过程中,在写子函数的过程中,由于在控制循环时将x的值改变,于是在判断x是否等于个位数字幂次方和时不能得出正确结果因为在循环过程中x的值已经改变 后来将x的值在循环前赋给另一个整型变量x1,也就是说将x的值保存在命名为x1的单元中,后来只用比较x1和幂次方和,即可判断 运行结果:修改后能够输出正确的结果五)一个的数,其七进制和九进制均为3位数,且3位数的数字正好相反试求出这个数源程序如下:shangji3\chengxu18#include 步骤二: 在每个子函数编译过程中,控制循环使该数分别除以7和9,直到除以后为0,再将此值返回到调用处在用以判断的子函数中,将已给的两个形式参数中的一个各位调换位置比较是否与另一个相同 步骤三:逐个检测,找出符合要求的数调试及编译过程:出现的不足及修改:开始时没有发现有范围是三位数,于是在转换进制的过程中以n为位数,循环条件为除以后不为0,加大了计算的繁琐性,但具有一般性 运行结果:输出预期的结果,经检验此结果为正确的六)求解1313的尾数三位是多少源程序如下:shangji3\chengxu19#include 步骤二:控制循环将累次乘的积不断乘以13,将结果调用子函数保留低三位,直到循环结束输出结果调试及编译过程:出现的不足及修改:无 运行结果:输出预期的结果七)解100!尾数有多少个0源程序如下:shangji3\chengxu20#include
