实验4循环程序设计Word下载.docx

上传人:b****2 文档编号:14435336 上传时间:2022-10-22 格式:DOCX 页数:15 大小:21.43KB
下载 相关 举报
实验4循环程序设计Word下载.docx_第1页
第1页 / 共15页
实验4循环程序设计Word下载.docx_第2页
第2页 / 共15页
实验4循环程序设计Word下载.docx_第3页
第3页 / 共15页
实验4循环程序设计Word下载.docx_第4页
第4页 / 共15页
实验4循环程序设计Word下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

实验4循环程序设计Word下载.docx

《实验4循环程序设计Word下载.docx》由会员分享,可在线阅读,更多相关《实验4循环程序设计Word下载.docx(15页珍藏版)》请在冰豆网上搜索。

实验4循环程序设计Word下载.docx

 do

{

  

循环体

 }while(条件表达式)

特点是“先执行,后判断”,循环体至少要执行1次。

建议:

在程序设计中尽量不用dowhile循环,而用while循环。

4.2.2for循环与while循环的对应关系

for(控制变量赋初值;

循环条件;

增值){

循环体

}

等价于:

控制变量赋初值;

While(循环条件){

循环体;

控制变量增值;

注意几点:

(1)for循环的执行过程是先做初始化,然后判断是否满足结束条件,若满足,则执行循环体,在执行完循环体后进行迭代增值。

(2)初始化部分和增值部分可以使用逗号语句执行多个操作;

(3)三部分均为空,写成for(;

;

)相当于一个无限循环。

4.2.3continue和break语句的作用

● 

continue---跳过之后的语句,继续下一轮循环;

break---跳出直接所处循环。

带标号的continue可以回到标号指定的那级循环的下一轮执行。

带标号的break可以跳出标号指定的那级循环。

4.2.4常见问题处理

(1)累加问题的解决办法—累加变量的初值设置在循环外,通常赋0为初值;

(2)如何利用循环求阶乘—累乘,在循环外设置变量初值为1;

(3)如何控制每行的输出数据个数(计数问题);

(4)如何产生一定范围的随机整数。

Math.random()产生的数是0到1之间的小数,不包括0和1,要产生随机整数必须先放大再取整。

4.3样例程序

样例1:

输入一批学生成绩,以-1作为结束标记 

(1)统计这批学生中,不及格、及格、中等、良好、优秀的人数。

(2)求这批学生的平均分。

【分析】根据要求不难看出这是一个计数和累加问题。

学生数量不确定,但有一个结束标记(-1),该问题从总体结构是一个循环处理问题,可采用while循环,当输入数据为-1时结束循环。

为了统计各种情况的人数,需要设立相应的计数变量,并给其赋初值0,另外为了求平均分,必须计算总分,也就是计算出所有学生成绩的累加和,然后除总人数即可得到平均。

【参考程序】

importjava.io.*;

publicclassScore{

publicstaticvoidmain(Stringargs[])throwsIOException{

ints=0,b=0,c=0,d=0,e=0,f=0;

//变量赋初值

BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));

inta=Integer.parseInt(br.readLine());

//读取一个整数

while(a!

=-1){

s+=a;

//累加

switch(a/10){

case 

0:

1:

2:

3:

4:

5:

b++;

break;

//计数增1

6:

c++;

7:

d++;

8:

e++;

9:

f++;

a=Integer.parseInt(br.readLine());

System.out.println("

优秀人数:

"

+f);

良好人数:

+e);

中等人数:

"

+d);

及格人数:

+c);

不及格人数:

+b);

intaverage=s/(b+c+d+e+f);

//求平均成绩

平均分="

+average);

【说明】程序流图见图4-1,程序总体结构上是一个循环问题,在循环内部要分情况统计各分数段人数,包含一个是switch语句。

在输入数据时未处理异常,所以在main方法的头部增加throwsIOException声明该方法会抛出IO异常。

【编程技巧】

(1)用while循环控制数据的录入和处理过程,-1作为循环的结束标记;

注意循环体的最后要有输入数据的语句,以便得到新的处理数据。

(2)如何将各分数档按情况进行分别处理,掌握除10取整后得到数据的特征。

(3)记住累加和计数问题的处理技巧。

样例2:

找10~100之间能被3或5整除的数,每行输出5个数

publicclassA{

publicstaticvoidmain(Stringarge[]){

intk=10;

//循环控制变量,从10变化到100

intm=0;

//用于统计输出数的个数

while(k<

=100){ 

//循环的终值为100

if(k%3==0||k%5==0){ 

//被3或5整除

m++;

System.out.print(k+"

\t"

);

if(m%5==0) 

//控制每隔5个输出数换一行

System.out.println();

 

k++;

//循环控制变量增值

【说明】本程序是找出一定范围内(10~100)查找满足条件的数,这里有两个关键,一是如何表达一个数被3或5整除,用到求余运算符和逻辑或;

二是为了控制每行输出5个数,必须对输出的数进行统计,因此,本程序的实质也要用到计数。

注意,print和println的差别。

(1)3或5整除的逻辑表达问题。

(2)如何控制一行输出5个数。

样例3:

编写一个程序从键盘输入10个整数,将最大、最小的整数找出来输出。

publicclassFind{

publicstaticvoidmain(Stringa[])throwsIOException{

intm=0,n=Integer.MAX_VALUE;

//用m,n存放需求的最大、最小整数

BufferedReaderbr=

newBufferedReader(newInputStreamReader(System.in));

for(intk=1;

k<

=10;

k++){

intx=Integer.parseInt(br.readLine());

if(x>

m)m=x;

//如果比最大的还大,那x成为最大的.

if(x<

n)n=x;

最大整数="

+m);

最小整数="

+n);

(1)分别引入两个变量m,n用来保存所求的最大与最小数值。

在循环外为这两个变量假定一个值(为多大合适),然后在循环内将其他值与其比较。

也可以先假定第一个数据为最大、最小,然后将剩余数据与其比较。

(2)不要忘记将获取新数据的输入语句放在循环内。

(3)结束循环后输出结果。

样例4:

计算算式:

1+21+22+23+…+2n 

(注:

n由键盘输入)

【参考程序1】

publicclassTwoadd{

publicstaticvoidmain(Stringargs[]){

intn=Integer.parseInt(args[0]);

longsum=1;

for(intk=1;

=n;

k++){ 

sum=sum+(long)Math.pow(2,k);

//用Math类的pow方法求2k

result="

+sum);

【参考程序2】

intn=Integer.parseInt(args[0]);

//从命令行输入n

longsum=1;

//保存累加和

longx=1;

//被加项

x=x*2;

//求下一个被加项时,只要在前一项的基础上乘2

sum=sum+x;

【说明】“参考程序1”最直观,但“参考程序2”比“参考程序1”要好,利用Math.pow(2,k)求每个累加项花费的时间长,为了完成计算,在pow方法内要执行一段计算程序。

而“参考程序2”求累加项则是一个乘法运算,这里利用了前后两个累加项的变化特点。

甚至简单写成x=x+x形式的加法运算更快,但可读性不如x=x*2。

(1) 

用循环组织累加,在循环外给累加变量赋初值,在循环内将累加项加到累加变量上;

(2) 

分析累加项的变化规律,尤其是前后项之间的关系。

(3) 

用Math类的pow方法求2的k次方,由于该方法返回为一个实数,所以要用强制转换为long型才能累加到sum上。

样例5:

从键盘输入一个长整数,求其各位数字之和。

【分析】这里的关键的如何得到各位数字,注意到得到一个整数的最低位数字可用除10求余数的办法,而要得到该整数的除最低位外的数只要用除10取整即可。

因此,利用循环即可将一个整数的所有各位数字取出。

publicclass 

fang{

publicstaticvoidmain(Stringargs[]){ 

inta,m=0;

a=Integer.parseI

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 自然景观

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1