当前位置:文档之家› 实验报告5答案

实验报告5答案

实验报告
课程名称:高级语言程序设计
实验五:循环结构程序设计
班级:
学生姓名:
学号:
专业:
指导教师:
学期: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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
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<min) min=x;
sum+=x;
}
ave=(float)sum/10;
printf("\n最大值为:%d, 最小值为%d,平均值为%f\n",max,min,ave); }
6、#include <stdio.h>
#include <math.h>
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);。

相关主题