循环结构程序设计-C语言程序实验报告

时间:2020-10-08 08:36:50 手机站 来源:网友投稿

第 PAGE 1 页

安 徽 工 程 大 学

高级语言程序设计 实 验 报 告

班级 姓名 同组者 / 成绩

日期 2019.10.17 指导教师 张义

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

实验目的

熟悉使用while语句、do-while语句和for语句实现循环的方法。

熟悉在程序设计中用循环的方法实现各种算法。

理解程序中循环结构语句的执行过程。

实验内容

程序填空。分别用for、while和do-while语句编写一个C程序,计算并输出数列1,3,5.…,2n-1,…的前n项之和,其中,n由键盘输入。

编程并上机调试运行。

求1!+2!+3!+…+n!(n从键盘输入)。

打印以下图案(用循环实现):

*

* * *

* * * * *

* * * * * * *

* * * * *

* * *

*

猴子吃桃,猴子第一天摘若干桃子,当即吃了一半,又多一个,又多一个,第二天吃了剩下桃子一半又多一个。以后每天早上都吃前一天剩下的一半多一个,这样到了第十天,只剩下一个桃子。问第一天共摘了多少个桃子?

打印九九乘法表。

有算式s=1+12+123+1234+12345+…,从键盘输入n,根据已知算式求前n项之和。

如n=3,则s=1+12+123;n=5,则s=1+12+123+1234+12345。

从键盘输入一串数字字符,将其转换成对应的整数。如输入字符串“368”,则输出整数368。

*思考题

在实验内容1的程序(1)输入时,若在“for(i=1;i<=k;____)”语句后多输入一个分号,即“for(i=1;i<=k;____);”,分析程序,写出预期结果。

在实验内容1的程序(2)输入时,若while语句后的{}省略,即

while(____)

s+=i;

______;

分析程序,写出预期结果。

5.简述while语句和do-while语句的区别。

算法流程图或实验步骤(可根据需要增删、修改)

(1)for语句实现:

算法流程图:

#include<stdio.h>

void main ( )

{

long s, n, k , i;

scanf ("%ld",&n);

k=2*n-1;

s=0;

for(i=1;i<=k;i=i+2)

s+=i;

printf("1+3+…+%ld=%ld\n",k,s);

}

实验步骤:

Files→New→Files→C++source File→文件名:program4011.c→位置:E:\123\→确定→完善源程序→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看运行结果

while语句实现:

算法流程图:

#include<stdio.h>

void main ( )

{

long s=0,n,i=1;

scanf("%ld",&n);

while(i<=2*n-1)

{

s+=i;

i=i+2;

}

printf("1+3+…+%ld=%ld\n",2*n-1,s);

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program4012.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

do-while语句实现:

算法流程图:

#include<stdio.h>

void main ( )

{

long s=0,n,i=1;

scanf("%ld",&n);

do

{

s+=i;

i=i+2;

}

while(i<=2*n-1);

printf("1+3+…+%ld=%ld\n",2*n-1,s);

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program4013.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

(1)算法流程图:

#include<stdio.h>

void main()

{

int n,s=0,i,j,t;

scanf("%d",&n);

for(i=1;i<=n;i++)

{

t=1;

for(j=1;j<=i;j++)

t=t*j;

s=s+t;

}

printf("%d\n",s);

return 0;

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program4021.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

算法流程图:

#include<stdio.h>

void main()

{

int i,j,k;

for(i=1;i<=4;i++)

{

for(j=1;j<=4-i;j++)

printf(" ");

for(k=1;k<=2*i-1;k++)

printf("*");

printf("\n");

}

for(i=1;i<=3;i++)

{

for(j=1;j<=i;j++)

printf(" ");

for(k=1;k<=7-2*i;k++)

printf("*");

printf("\n");

}

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program4022.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

算法流程图:

#include <stdio.h>

int main()

{

int day,x1,x2;

day=9;

x2=1;

while(day>0)

{x1=(x2+1)*2; /*第1天的桃子数是第2天桃子数加1后的2倍.*/

x2=x1;

day--;

}

printf("total=%d\n",x1);

return 0;

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program4023.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

算法流程图:

#include <stdio.h>

int main() {

int i,j;

for(i=1;i<=9;i++) {

for(j=1;j<=9;j++)

printf("%d*%d=%2d\t", i, j, i*j);

printf("\n");

}

return 0;

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program4024.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

算法流程图:

#include<stdio.h>

void main()

{

int n=0,i=1,m=0,sun=0;

printf("请输入一个数");

scanf("%d",&n);

while(i<=n)

{

m=m*10+i;

sun+=m;

i++;

}

printf("%d",sun);

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program4025.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

算法流程图:

#include <stdio.h>

void main()

{

char str[20];

scanf("%s",str);

printf("%d\n",atoi(str));

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program4026.c→位置:E:\123\→确定→输入代码→Buid→是→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

(1)算法流程图:

#include<stdio.h>

void main ( )

{

long s, n, k , i;

scanf ("%ld",&n);

k=2*n-1;

s=0;

for(i=1;i<=k;i=i+2);

s+=i;

printf("1+3+…+%ld=%ld\n",k,s);

}

(2)实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program4031.c→位置:E:\123\→确定→输入修改后的代码→Buid→是→查看编译结果

(1)算法流程图:

#include<stdio.h>

void main ( )

{

long s=0,n,i=1;

scanf("%ld",&n);

while(i<=2*n-1)

s+=i;

i=i+2;

printf("1+3+…+%ld=%ld\n",2*n-1,s);

}

实验步骤:

Files→Close Workspace→Files→New→Files→C++source File→文件名:program4031.c→位置:E:\123\→确定→输入修改后的代码→Buid→是→查看编译结果→确认0error(s) 0warning(s)后→BuidExecute→查看并验证运行结果

实验结果及分析

详情见第三项算法流程图

详情见第三项算法流程图

预期结果:编译时产生错误

预期结果:程序虽然编译没有错误,但程序无效,并不能起到原题所需要的功能。

while和do…while的区别:

while:先判断再执行,若条件不成立,则循环体一遍都不执行

? ?do...while: 先执行再判断,若条件不成立,则循环体至少执行一遍

实验体会、问题讨论

while和do…while的区别;

如果控制的语句不止一条,则需要用{}括起来;

for( )后无;

教师签字: 批改日期:

说明:

1、对于每一个实验项目,实验报告(含预习)一般应包含以下内容:

第一部分——预习后的书面汇报。其主要内容应包含:*一、实验目的;*二、实验内容;三、算法流程图或实验步骤。实验目的和实验内容参见实验教材或老师下发的内容。

第二部分——实验结果的书面汇报。其主要内容应包含: *四、实验结果及分析(含实验测试输入数据,实验运行结果截图,用简洁的语言总结实验,汇报是否达到实验目的);*五、实验体会、问题讨论(谈体会或感想、提出建议或意见、讨论与实验有关的且自己感兴趣的问题、回答课后思考题)。

第三部分——附录:实验源程序。提前编写好程序,实验时调试并完善。

2、 实验报告写在教务处下发的实验报告纸上,每次实验完成后课代表收齐统一交给老师。

实验源程序写在单独的一个本子上,实验课时带到机房,供上机调试使用,实验教师抽查完成情况。

推荐访问:实验报告 程序设计 循环 语言 循环结构程序设计-C语言程序实验报告

版权声明 :以上文章中选用的图片文字均来源于网络或用户投稿 ,如果有侵权请立即联系我们 , 我们立即删除 。