实验6:循环结构程序设计

  • 格式:doc
  • 大小:39.50 KB
  • 文档页数:8

下载文档原格式

  / 8
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验6:循环结构程序设计

实验名称:循环结构程序设计成绩:

实验日期:年月日实验报告日期:年月日

一、实验目的

1、掌握while,do-while,for循环的语法结构与应用。

2、掌握while,do-while循环的区别。

3、掌握Turbo C单步执行调试程序的方法。

二、实验内容

完成程序题:

1、用三种循环结构,求1000以内奇数的和。

2、用while,do-while循环求i-10的连加和,i由用户输入。

3、有一堆零件(100-200个之间),如果以4个零件为一组进

行分组,则多2个零件;如果以7个零件为一组进行分组,则多3个零件;如果以9个零件为一组进行分组,则多5个零件。编程求解这堆零件总数。

提示:用穷举法求解。即零件总数x从100-200循环试探,如果满足所有几个分组已知条件,那么此时的x就是一个解。分组后多几个零件这种条件可以用求余运算获得条件表达式。

三、实验要求

1、实验前编制源程序、对第2个实验内容需要准备测试数据。

2、在Turbo C下完成程序的编辑、编译、运行。查看、分析程序

结果。

四、实验步骤、过程

1、编辑、编译、运行程序题1。

2、编辑、编译、运行程序题2,分别使用数据3,15做测试。

3、编辑、编译、运行程序题3。

五、源程序清单、测试数据、结果。

1、用三种循环结构,求1000以内奇数的和。

(1)用while结构实现

void main()

{

long sum;

int i,item;

sum=0,i=0,item=2*i+1;

while(item<1000)

{

sum=sum+item;

i++;

item=2*i+1;

}

printf("1+3+5+...999=%ld\n",sum); }

(2)用do-while结构实现

void main()

{

long sum;

int i,item;

sum=0,i=0,item=2*i+1;

do

{

sum=sum+item;

i++;

item=2*i+1;

}while(item<1000);

printf("1+3+5+...999=%ld\n",sum);

(3)用for结构实现

void main()

{

long sum;

int i,item;

for(sum=0,i=0,item=2*i+1; item<1000; i++,item=2*i+1) sum=sum+item;

printf("1+3+5+...999=%ld\n",sum);

}

运行结果:

1+3+5+...999=250000

2、用while,do-while循环求i-10的连加和,i由用户输入。(1)用while循环实现

main()

{

int sum=0,i;

printf("Input i:");scanf("%d",&i);

while(i<=10)

sum+=i;

i++;

}

printf("sum=%d\n",sum);

}

测试运行结果:

Input i:7

sum=34

Input i:15

sum=0

(2)用do-while循环实现

main()

{

int sum=0,i;

printf("Input i:");scanf("%d",&i); do

{

sum+=i;

i++;

}while(i<=10);

printf("sum=%d\n",sum);

}

测试运行结果:

Input i:7

sum=34

Input i:15

sum=15

3、穷举法搜索计算零件总数

main()

{

int x,flag=0;

for(x=100; x<=200; x++)

if(x%4==2&&x%7==3&&x%9==5) {

flag=1;

break;

}

if(flag)printf("x=%d\n",x);

else printf("no answer!\n");

}

运行结果:

x=122

六、实验出现的问题、实验结果分析

对于累加问题,获得的累加值可能超过变量允许的范围,出现溢出错误(逻辑错误-编译时不能发现)。程序题1:原来sum定义为int,后来改为long后程序获得了正确的结果。

七、实验小结和思考

1、变量类型的选择应当考虑变量的使用范围。

2、循环程序可以用三种结构实现,三种结构一般情况可以相互替

换。

3、while,do-while循环的区别:while先判断循环条件,如果

条件满足再执行循环体,如果条件不满足,循环体一次也不执行。

do-while先执行一次循环体再判断循环条件,以决定是否再次执行循环体,即就是说循环体至少执行一次。