欢迎来到天天文库
浏览记录
ID:24233719
大小:84.50 KB
页数:4页
时间:2018-11-13
《实验6控制结构综合程序设计1》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验6控制结构综合程序设计【实验目的】(1)熟练掌握分支结构、循环结构的综合应用。(2)熟练掌握使用函数编写程序的方法。(3)熟练掌握结构化程序设计的思想及方法。(4)熟练掌握C程序的调试方法。【实验内容】一、调试示例改正下列程序屮的错误。根据下式求7T的值,直到某一项小于10~兀,1!2!3!z!233x53x5x73x5x...x(2xZ+l)源程序(有错误的程序)1#include2intfactfintn);3intmulti(intn);4intmain(void)5{6inti;7doublesum,item,eps;89eps=lE-6
2、;10sum=l;11item=l;12for(i=l;item>=eps;i++){13item=fact(i)/multi(2*i+l);14sum=sum+item;15}//调试时设置断点16printf(,,PI=%0.5lf",sum*2);1718return0;19}2021intfact(intn)22{23inti;24intres;2526res=l;27for(i=0;i<=n;i++)28res=res*i;2930returnres;//调试吋设置断点31}3231intmulti(intn)32{33inti;34intres;3735
3、res=l;36for(i=3;i<=n;i=i+2)37res=res*i;4138returnres;//调试时设置断点39}运行结果(改正后程序的运行结果)Pl=3.14159(1)对程序进行编译和连接,没有岀现错误信息。(2)运行程序,结來如下。PI=2.00000结果显然错误,说明程序存在逻辑错误,耑要调试修改。(3)调试步骤如下。本实验介绍综合调试方法,请特别注意学习利用断点对多函数的综合程序进行调试。1.调试程序开始,设罝三个断点,行号分别为15,30和42。2.单击按钮,程序运行到行号为30的函数fact的断点处,该函数计算第一次被调用时,n的值是1,r
4、es的值也应该是1,但变量窗口显示res的值是显然不正确,发现错误的原因是3.单击按钮®,停止调试,改正错误,把行号为的错误语句改为后,重新编译和连接,没有错误和警告。4.单击按钮,程序运行到fact函数断点处,变量窗口显示res的值为1,正确。5.再次单击,程序运行到行号为42的multi函数的断点处,变量窗口显示res的值为_,正确。6.再次单击按钮,程序运行到行号为15的主函数的断点处,变S窗口显示sum的值还是1,而此时sum的值应该为1+1!乃,把鼠标指向变:S:item,看到item的值是0,而调用函数计算的分子和分母的值均正确,出错原因是注意:变量item
5、的值可以在变量窗口和观察窗口中查看,这里介绍通过鼠标指向变量来查看变量值的方法更方便。7.单击按钮®,停止调试,改正错误,把函数fact和函数multi的类型以及res的类型都定义为,重新编译和连接,没有出现出错信息。8.单击按钮®,重新开始调试,再单击按钮$+3次,程序运行到行号为15的主函数的断点处,变量窗口显示sum=,这就是1+1!応的值、1.再次单击按钮^3次,程序运行到主函数处的断点,变fi窗口显示sum=这是1+1!/5+2!/(3*5>的值。2.取消所有断点,在main函数的第18行“returnO”处设置一个断点。3.单击按钮,程序运行到断点处暂停,输
6、fliPl=3.14159,运行结果正确。4.单击按钮调试结束。二、改错题改正下列程序中的错误,输入2个整数,分别将其逆向输出,要求定义并调用函数reverse(n),它的功能是返冋n的逆向值。例如reverse(123)的返问值是321。输入输出示例123-910123的逆向是321-910的逆向是-19源程序(有错误的程序)1#include2intmain(void)3{4intx,y;55scanf(n%d%d",&x,&y);6printf("%d的逆向是。/od’’,x,reverse(x));7printf(’’%d的逆向是%<11
7、1’’,y,reverse(y));8Return0;10}11intreverse(intn)12{13intm,res;14res=0;15if(n<0)16m=n;17else18m=-n;19while(m==0){20res=res*10+m/10;21m=m%10;22}23if(n>=0)24returnres;25else26return-res;27}改错'汇总错误行号:正确语句错误行号:正确语句错误行号:正确语句错误行号:正确语句三、编程题1.验证哥徳巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。例如6=3
此文档下载收益归作者所有