实验报告5答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);

相关文档
最新文档