实 验 报 告
工学院 土木工程专业 09级 20## 至2012 学年度第 1 学期
学号:xxxxxx 姓名:xxxxxxx 2011 年10月 20日 第3~4节 综合 楼 325教室
班级: 信科 121 学号: 12477218 C程序设计实验报告 第四章 循环结构程序设计
第四章 循环结构程序设计
【实验目的】
1、学习绘制简单的框图
2、学习循环结构的程序设计
【上机准备】
第一题:求出前20个不能被2,3,5,7整除的数,并求出这些数的和。画出流程图并写出程序
第二题:写程序求1-3+5-7+…-99+101的值,画出流程图并写出程序。
第三题: 线面的框图是通过公式??1?111??? …来求出?的近似值,1!2!3!精度要求为10-6 。根据框图写出程序。提示:精度公式为?n?Sn?1?Sn?
1 n!
第四题:计算圆周率方法中有一种称为蒙特卡罗法。其思路是在平面坐标系的第一象限中,以(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
#include<stdio.h> void main() { int s=0,n=1,i=1;
while(n<=20)
{
if(i%2!=0&&i%3!=0&&i%5!=0&&i%7!=0) {
n++;
s+=i; printf("%d\t",i);
} i++;
}
} printf("sum=%d\n",s);
实验数据:
1 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 sum=858
错误记录:忘记i++;
二、 P4_2
#include<stdio.h> void main() { int i,x,s;
i=1;
s=0;
x=1;
while(x<=101&&x>-103)
{
s+=x;
i++;
x=2*i-1;
if(i%2==0)
x=x*(-1);
}
} printf("sum=%d\n",s);
实验数据:sum=51
错误记录:\
三、 P4_3
#include<stdio.h> #include<math.h> void main() { int i; float e,term,a; e=1; a=1; i=1,term=1; while(term>=1e-6) // int(a*pow(10,-6))!=(a*pow(10,-6)) { a=a*i; term=1/a; e=e+term; i++; } printf("sum=%f\n",e); }
实验数据: sum=2.718282 错误记录:刚开始未能正确理解精度的含义
四、 P4_4
#include<stdio.h> #include<stdlib.h> #include<math.h> void main() { int k,i,n; float m,q,l,p; printf("请输入随机点的点数:"); scanf("%d",&n); i=1; k=0; while(i<=n) { m=(float)rand()/RAND_MAX; q=(float)rand()/RAND_MAX; l=sqrt(m*m+q*q); i++; if(l<=1) k++; } p=k*1.000/n*4; printf("圆周率为:%f",p); }
实验数据:3.139087
错误记录:随机数使用方法错误
五、 P4_5
#include<stdio.h> void main() { int i,j; for(i=0;i<10;i++) { j=i*10+6; if(j%3!=0) continue; printf("%d\t",j); } }
实验数据: 6 36 66 96 错误记录:循环判断条件错误,应为if(j%3!=0)而不是if(j%3==0)
六、 P4_6
#include<stdio.h> void main() { int i,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; else count++; } printf("%d\n",count); }
实验数据: 54
错误记录:\
七、 P4_7
#include<stdio.h> #include<math.h> void main() { int a,c,e,g,h,i; float b,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(g*g==a&&h*h==c&&i*i==e)/*判断是小数或整数*/ printf("%d\t",a); } }
实验数据: 1600 1681 2500 3600 4900 6400 8100 错误记录:逻辑混乱g*g==a&&h*h==c&&i*i==e误输入为g*g==b&&h*h==d&&i*i==f
八、 P4_8
#include<stdio.h> void main() { int i,j,k,l=1; for(i=0;i<=20;i++) for(j=0;j<=50;j++) { k=100-5*i-2*j; if(k>=0) { printf("%2d%2d%2d",i,j,k); l=l+1; if(l%5==0) printf("\n"); } } }
【上机小结】:
通过第四章的学习,我理解并掌握了循环结构的基本知识,学会了C语言编写代码时的一些小技巧。
C++程序设计实验报告学号:姓名:班级:指导老师:实验一、字符和格式的输出实验一,实验目的1、重点把握各种内部数据类型、数值和逻辑…
C语言程序设计实验报告1实验目的(1)掌握函数的定义方法、调用方法、参数说明以及返回值;(2)掌握实参与形参的对应关系,以及参数之…
学生实验报告册(理工类)课程名称:JAVA程序设计实验专业班级:M11计算机科学与技术II学生学号:学生姓名:所属院部:XX学院指…
西南交通大学程序设计综合实验实验地点实验学期学生班级学生学号学生姓名任课教师龚勋信息科学与技术学院20xx年4月实验一ATM机用户…
C语言程序设计实验报告学号不告诉你哦班级信管一班姓名你猜猜哈哈一实验题目一编程实验猜数问题输入两个整数并求这两个整数的和输入所猜的…
C程序设计实验报告实验名称控制结构综合程序设计学时安排2课时实验类别上机操作型实验要求1人1组一实验目的1熟练掌握分支结构循环结构…
C课程设计报告题目小学算术运算测试设计者刘星刘俊良凌锋专业班级计算机网络0901班学号343337指导教师任长安所属系部计算机与信…
海南大学三亚学院信息管理与信息系统专业课程设计实验报告题目C语言程序设计实习分院管理分院专业信息管理与信息系统班级信管0902姓名…
程序设计基础课程设计院系班级姓名指导教师20xx年12月25日第1页共49页贪吃蛇程序设计基础课程设计任务书一题目贪吃蛇二设计要求…
C语言程序设计实验报告专业班级日期11月26日成绩实验组别第327次实验指导教师李开学生姓名学号同组人姓名实验名称数组实验一实验目…
《C语言程序设计》实验报告实验七、结构体和联合体程序设计学号姓名一、实验目的1.掌握结构体类型变量和数组、共用体类型变量和数组以及…