C语言循环结构程序设计实验报告

上传人:M****1 文档编号:464931759 上传时间:2023-10-01 格式:DOC 页数:9 大小:60.51KB
返回 下载 相关 举报
C语言循环结构程序设计实验报告_第1页
第1页 / 共9页
C语言循环结构程序设计实验报告_第2页
第2页 / 共9页
C语言循环结构程序设计实验报告_第3页
第3页 / 共9页
C语言循环结构程序设计实验报告_第4页
第4页 / 共9页
C语言循环结构程序设计实验报告_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《C语言循环结构程序设计实验报告》由会员分享,可在线阅读,更多相关《C语言循环结构程序设计实验报告(9页珍藏版)》请在金锄头文库上搜索。

1、云南大学数学与统计学实验教学中心实验报告课程名称:程序设计和算法语言学期: 20122013学年下学期成绩:指导教师:学生姓名:学生学号实验名称:循环结构程序设计实验编号:四实验日期:实验学时: 3学院: 专业年级:一、实验目的1进一步练习选择结构的程序设计。2练习并掌握实现循环结构的三种方法。3练习并掌握选择结构与循环结构的嵌套。4掌握多重循环的应用。5学会单步跟踪的操作方法。二、实验内容实验内容和步骤1 分别用三种循环语句(while语句、do-while语句、for语句),实现求1 100的累加和。编程上机调试,总结出三种循环语句哪种实现起来方便、灵活。while语句do-while语句

2、#include#includevoid main() void main() int i=1,sum=0; int i=1,sum=0; while(i=100) do sum=sum+i; sum=sum+i; i+; i+; printf(“%dn”,sum); while(i=100); printf(“%dn”,sum); 运行结果:5050 for语句#includevoid main() int i,sum=0; for(i=1;i=100;i+) sum=sum+i; printf(“%dn”,sum); 252 求 n! (1!+2!+3!+25!)。n=1程序如下:main

3、() float n,s=0,t=1;for(n=1;n=25;n+) t=t*n; s=s+t; printf(“1!+2!+3!+ +25!=%en”,s);上机运行,并记录下结果。然后用另外两种循环语句实现上述功能。运行结果:1!+2!+3!+ .+25!=1.61587e+25while语句:main() float n=1,s=0,t=1; while(n=25) t=t*n;s=s+t;n+; printf(“1!+2!+3!+ +25!=%en”,s);do-while语句:main() float n=1,s=0,t=1; do t=t*n;s=s+t;n+; while(n=

4、25);printf(“1!+2!+3!+ +25!=%en”,s);3 指出下面三个程序的功能,当输入“quit?”时,它们的执行结果是什么?#includemain() char c;c=getchar();while(c!=?) putchar(c); c=getchar(); 程序功能:输入的字符不是“?”时,就将该字符输出;若输入字符“?”时,不输出任何值。运行结果:输入”quit?”时,输出:quit #includemain() char c;while( c=getchar()!=?) putchar(+c); 程序功能:输入的字符不是“?”时,将其ASCII值自加一后,输出字

5、符;遇到?时,停止运行。运行结果:输入”quit?”时,输出:rvju #include main() while(putchar(getchar()!=?);程序功能:将输入的字符原样输出运行结果:输入”quit?”时,输出:quit?分析输出的三种不同结果,在实验报告中写出为什么。*4 换零钱。把一元钱全兑换成硬币,有多少种兑换方法?参考程序如下:main() int i,j,k,n;n=100,k=0;for(i=0;i=n/5;i+) for(j=0;j=(n-i*5)/2;j+) printf(“ 5 cent=%dt 2 cent=%dt 1 cent=%dn”,i,j.n-i*5

6、-j*2); k+; printf(“total times=%dn”,k);*5 穿越沙漠。用一辆吉普车穿越1000公里的沙漠。吉普车的总装油量为500加仑,耗油量为1加仑/公里。由于沙漠中没有油库,必须先用车在沙漠中建立临时加油站,该吉普车要以最少的油耗穿越沙漠,应在什么地方建立临时油库,以及在什么地方安放多少油最好?参考程序如下:main() int k=1; float station,distation,total;station=distation=total=500.0;while(distation1000.0) printf(“station(%d)=%9.4f oils t

7、otal(%d)=%10.4fn”, k,station,k,total); total=500.0*+k; station=500.0/(2*k-1); diststion + =station; distation - =station; station=1000.0-distation; printf(“station(%d)=%9.4f oils total(%d)=%10.4fn”, k,station,k,(k-1)*500.0+(2*k-1)*station); 【上机实习指导】1输入例6.2.上机运行程序,分析运行结果。用单步跟踪观察while语句的执行过程:连续按三次F8键,

8、再用两次Ctrl-F7操作分别将i和sum的值显示出来,然后不按断F8键,每次按F8后,观察绿条的变化和变量值的变化情况,以此来分析并弄清while语句的执行过程。修改程序,实现s=1+1/2+1/3+1/10。运行结果:5050每次按F8后,绿条会在while语句,sum=sum+i;i+;中移动,并且i和sum的值也有变化,不断地增加一,直到不满足条件。开始i=1;sum=0i=10t=1/isum=sum+ti+输出sum结束#includevoid main() float i,sum=0,t; i=1; while(i=10) t=1/i; sum=sum+t; i+; printf

9、(%fn,sum);【自编程序上机】1计算下列级数和 s=1-(2/3)+(3/5)-(4/7)+(-1)n(n+1)/(2n+1)直到最后一项的绝对值小于10-4为止(注意:是(n+1)/(2n+1)。具体要求如下:画出流程图。除了要输出级数和s外,同时要求输出总的项数n。输出形式为:n=具体值,s=具体值#include#includevoid main()n=1;sum=1开始sum=sum+pow(-1,n)*(n+1)/(2*n+1) int n=1; float sum=1;n+ do fabs(n+1)*(2*n+1)(1e-004) sum=sum+pow(-1,n)*(n+1

10、)/(2*n+1); n+; while(fabs(n+1)*(2*n+1)(1e-004); printf(n=%d,sum=%f,n,sum);输出n,sum运行结果:n=2,sum=0.333333结束2如果一个数恰好等于它的所有因子(包括1但不包括自身)之和,开始例如:6的因子为1,2,3,且1236,因此6是一个“完数”。计算并输出1000以内的所有“完数”之和。具体要求如下:sum=0所有循环均用for循环。输出要有文字说明,并同时输出各“完数”。输出形式为:完数1+完数2+=和值m=2#includevoid main()m=1000 int i,k,m,n,sum=0; for

11、(m=2;m=1000;m+) 真k=m/2,n=0,i=1 for(k=m/2,n=0,i=1;i=k;i+) i=k if(m%i=0) n=n+i; if(m=n)真m%i=0 sum=sum+m; printf(%d+,m);n=n+i i+ printf(b=%dn,sum);m=nm+输出m+sum=sum+m 运行结果: 6+28+496=530输出sum结束3P121 6.14。要求用循环结构实现。4百钱买百鸡问题。已知公鸡每只5元,母鸡每只3元,小鸡1元3只,要求100元钱正好买100只鸡,则应买公鸡、母鸡的小鸡各多少只?5某班有学生n人,从终端读入n及n个人学生的成绩,试编

12、程实现以下功能:印出前3个最好成绩及取得每个最好成绩的人数;若90分以上计为优,7589分计为良,6074分计为中,60分以下计为不及格,试统计各档成绩所占百分率。习题 下列论题哪些是错误的?语言没有goto语句。While表达式语句的作用是:当表达式的值为时重复执行循环体语句。do(语句)while(表达式)的作用是:重复执行循环体(“语句”),直到表达式成立(其值为真)。 “dowhile”语句中,写在do后面。While前面的若干语句,不必用花括号括起来。 break语句用于退出条件语句和循环语句的判断。 contiune语句表示将循环继续下去。凡是while语句能解决的问题也能用dowhile语句解决。凡是用while语句能解决的问题都可以用for语句实现。凡是用for语句能解决的问题都可以用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号