实验报告5答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告
课程名称:高级语言程序设计
实验五:循环结构程序设计
班级:
学生姓名:
学号:
专业:
指导教师:
学期:2010-2011学年上学期
云南大学信息学院
一、实验目的
1、理解循环的概念
2、理解并掌握循环结构相关语句的含义、格式及使用
3、学会循环的应用及控制,包括:
① 掌握使用循环输入多个数据的方法
② 掌握在多个数据中有选择地输出数据的方法
③ 掌握在多个数据中对某种数据进行计数的方法
④ 掌握求多个数据中最大值、最小值的方法
⑤ 掌握使用break 、continue 语句终止循环
4、掌握循环的嵌套
二、知识要点
1、循环变量、循环条件、循环体的概念
2、三种循环语句的一般格式、执行过程
3、理解选择结构与循环结构中“条件表达式”之不同含义
4、二重循环的执行过程
三、实验预习 (要求做实验前完成)
1、循环变量的主要用途是:
2、用循环求多个数的和之前,先要把和的初始值赋为:
3、用循环求多个数的乘积之前,先要把乘积的初始值赋为:
4、字符变量能否作为循环变量?
5、循环过程中,如果循环条件成立,但需要结束循环,可采用什么办法?
6、什么叫循环的嵌套?
四、实验内容 (要求提供:① 算法描述或流程图 ② 源程序 )
1、编程,利用循环计算以下表达式的值:
(5+52)*(4+42)*(3+32)*(2+22)*(1+12)*(1/2+1/3+1/4+1/5)(for 循环)
2、编程,从键盘输入若干个整数,当输入0时,输入停止。统计并输出总共输入了几个
数,以及所有输入数的和。(while 循环)
3、输入一行字符,分别统计其中的英文字母、数字、空格和其他字符的个数。
4、使用二重循环编程,绘制如下图形: *****A ****B ***C **D *E
5. 输入10个整数,输出最大值、最小值和平均分。
6. 编写程序,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。程序运行后,若输入精度0.0005,则程序应输出为3.14…。
()
1121231234121233535735793521n n π⨯⨯⨯⨯⨯⨯⨯⨯⨯=++++++⨯⨯⨯⨯⨯⨯⨯⨯⨯+…………
五、实验结果(要求写出运行界面及输出的运行结果)
1、#include
void main()
{int i,j,s;
float k,r;
s=1; r=0;
for(i=1;i<=5;i++)
{j=i+i*i;s=s*j;}
for(i=2;i<=5;i++)
{k=1.0/i;r=r+k;}
printf("结果为:%f\n",s*r);
}
2.#include
void main()
{int a,i,s;
s=0;i=0;
printf("输入整数以0结束:\n");
do
{scanf("%d",&a);
i++;s=s+a;
}
while(a!=0);
printf("共有%d个数,其和为:%d\n",i,s);
}
3. #include
void main()
{char ch;
int a,b,c,d;
a=b=c=d=0;
scanf(“%c”,&ch);
while(ch!=’\n’)
{ if(ch>=’a’&&ch<=’z’||ch>=’A’&&ch<=’Z’) a++;
else if(ch>=’0’&&ch<=’9’) b++;
else if(ch==32) c++;
else d++;
scanf(“%c”,&ch);
}
printf(“字母有%d个,数字有%d个, 空格有%d个,其他有%d个\n”,a,b,c,d);
4、#include
void main()
{int i,j,k=65;
for(i=5;i>=1;i--)
{for(j=i;j>=1;j--)printf("*");
printf("%c\n",k++);
}
}
5、#include
main()
{int x,i=0,max,min,sum=0;
float ave;
for(i=1;i<=10;i++)
{ scanf("%d",&x);
printf(“%d ”,x);
if(i==1) max=min=x;
if(x>max) max=x;
if(x sum+=x; } ave=(float)sum/10; printf("\n最大值为:%d, 最小值为%d,平均值为%f\n",max,min,ave); } 6、#include #include main( ) { double x, s=0.0,t =1.0; int n=1; printf("Input 精度:") ; scanf("%lf",&x); while(t>=x) /*当某项大于精度要求时,继续求下一项*/ { s=s+t; /*求和*/ t=t*n/(2*n+1); /*求多项式的每一项*/ n++; } printf("\neps = %lf, PI=%lf\n", x, 2*s);