乐天情感
您的当前位置:首页程序设计实验报告第四章

程序设计实验报告第四章

来源:乐天情感

班级:信科121学号:8C程序设计实验报告第四章循环结构程序设计

第四章循环结构程序设计

【实验目的】

1、学习绘制简单的框图

2、学习循环结构的程序设计

【上机准备】

第一题:求出前20个不能被2,3,5,7整除的数,并求出这些数的和。画出流程图并写出程序

第二题:写程序求1-3+5-7+…-99+101的值,画出流程图并写出程序。

第三题:线面的框图是通过公式1111…来求出的近似值,1!2!3!精度要求为10-6。根据框图写出程序。提示:精度公式为nSn1Sn

第四题:计算圆周率方法中有一种称为蒙特卡罗法。其思路是在平面坐标系的第一象限中,以(0,0),(0,1),(1,0)四个角为顶点的正方形中,产生随机点。已知由圆心为(0,0),起点为(1,0),终点为(0,1)的四分之一圆的扇形区域面积为s=1所以若随机点到圆心距离小于1则认为落在这个扇形内,4

部。根据落在这个扇形内部点的比例再乘以4即可得到圆周率的近似值。画出框图,编写程序,分别输出当随机点点数为10,100,1000,10000,50000等所求出的圆周率。并求出当随机点数为多少的时候,求出圆周率精度为小数点后3位。

第五题:下面程序用来求100以内个位数为6且能够被3整除的所有数,请填空

第六题:下面程序功能是计算100-1000之间有多少个数,其各位数字之和是5,请填空

第七题:编程求所有4位数,这些数具有以下特点:这数本身是平方数,且其

低2位和高2位所组成的2个2位数也是平方数。使用伪码描述算法,画出流程图,写出程序。

第八题:下面程序的功能是求出用一元人民币兑换一分、二分、五分的所有兑换方案请填空:

【上机内容】

【第一部分上机操作】:

一、P4_1

includevoidmain(){ints=0,n=1,i=1;

while(n<=20)

if(i%2!=0i%3!=0i%5!=0i%7!=0){

n++;

s+=i;printf("%d ",i);

}i++;

}printf("sum=%d ",s);

实验数据:

111131719232931374143475359616771737983sum=858

错误记录:忘记i++;

二、P4_2

includevoidmain(){inti,_,s;

i=1;

s=0;

_=1;

while(_<=101_>-103)

s+=_;

i++;

_=2i-1;

if(i%2==0)

_=_(-1);

}printf("sum=%d ",s);

实验数据:sum=51

错误记录:

三、P4_3

includeincludevoidmain(){inti;floate,term,a;e=1;a=1;i=1,term=1;while(term>=1e-6)int(apow(10,-6))!=(apow(10,-6)){a=ai;term=1/a;e=e+term;i++;}printf("sum=%f ",e);}

实验数据:sum=2.718282错误记录:刚开始未能正确理解精度的含义

四、P4_4

includeincludeincludevoidmain(){intk,i,n;floatm,q,l,p;printf("请输入随机点的点数:");scanf("%d",n);i=1;k=0;while(i<=n){m=(float)rand()/RAND_MA_;q=(float)rand()/RAND_MA_;l=sqrt(mm+qq);i++;if(l<=1)k++;}p=k1.000/n4;printf("圆周率为:%f",p);}

实验数据:3.139087

错误记录:随机数使用方法错误

五、P4_5

includevoidmain(){inti,j;for(i=0;i<10;i++){j=i10+6;if(j%3!=0)continue;printf("%d ",j);}}

实验数据:错误记录:循环判断条件错误,应为if(j%3!=0)而不是if(j%3==0)

六、P4_6

includevoidmain(){inti,s,k,count=0;for(i=100;i<1000;i++){s=0;k=i;while(k>=10){s=s+k%10;k=k/10;}if(s!=5)continue;elsecount++;}printf("%d ",count);}

实验数据:54

错误记录:

七、P4_7

includeincludevoidmain(){inta,c,e,g,h,i;floatb,d,f;for(a=1000;a<=9999;a++){b=sqrt(a);g=b;

c=a%100;/低两位/d=sqrt(c);h=d;e=(a-c)/100;/高两位/f=sqrt(e);i=f;if(gg==ahh==cii==e)/判断是小数或整数/printf("%d ",a);}}

实验数据:16001681250036004900008100错误记录:逻辑混乱gg==ahh==cii==e误输入为gg==bhh==dii==f

八、P4_8

includevoidmain(){inti,j,k,l=1;for(i=0;i<=20;i++)for(j=0;j<=50;j++){k=100-5i-2j;if(k>=0){printf("%2d%2d%2d",i,j,k);l=l+1;if(l%5==0)printf(" ");}}}

【上机小结】:

通过第四章的学习,我理解并掌握了循环结构的基本知识,学会了C语言编写代码时的一些小技巧。

因篇幅问题不能全部显示,请点此查看更多更全内容