实验6 循环结构程序设计

  • 格式:doc
  • 大小:43.50 KB
  • 文档页数:5

下载文档原格式

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

实验6 循环结构程序设计

一.实验目的

1.掌握在设计条件型循环结构时,如何正确地设定循环条件。

2.掌握如何正确地控制计数型循环结构的循环次数。

3.练习并掌握选择结构与循环结构的嵌套、多重循环的应用。

4.掌握在程序设计中用循环的方法实现一些常用算法,加强调试程序的能力。二.实验要求

1.复习while、do-while、for语句和continue、break语句。

2.能够用流程图表示实验题目的算法。

3.能够独立调试运行实验题目。

4.本实验要求4学时完成。

三.实验内容和步骤

题目1:分别用while循环和for循环计算:1+2+3+…+100=?

要求:写出程序并上机查看运行结果。

题目2:输入一行字符,分别统计出其中大小写英文字母、空格、数字和其他字母的个数。要求:程序填空并写出2组运行结果。

01#include

02#include

03#include

04main( )

05{

06char c;

07int letter=0,capital=0,lower=0,space=0,digital=0,other=0;

08printf("\ninput a line character :\n");

09while((c=getchar())!='\n')

10{

11if( 【1】) /*统计大小写字母的个数*/

12{

13letter++;

14if ( 【2】)

15lower++; /*统计小写字母的个数*/

16}

17else if( 【3】)

18space++; /*统计空格的个数*/

19else if( 【4】)

20digital++; /*统计数字的个数*/

21else

22other++; /*统计其他字符的个数*/

23}

24capital=letter-lower;

25printf("Letter: %d (Capital: %d Lowercase: %d)\n",letter,capital,lower);

26printf("Spaces: %d\nDigital : %d\nOther : %d\n",space,digital,other);

27getch();

28}

题目3:求两个正整数的最大公约数和最小公倍数。

分析:求两个正整数的最大公约数采用辗转相除法:

①输入正整数m和n,保证m不小于n;

②如果n≠0,则求r=m%n,然后m=n,n=r;重复此操作直到n=0;

③如果n=0,则此时m就是最大公约数,而最小公倍数是这两数之积除以这两数的最

大公约数得到的商。

要求:程序填空并写出2组运行结果。

01#include

02#include

03main( )

04{

05int m,n,r,a;

06printf("\nInput 2 positive integer:\n");

07scanf("%d%d", 【1】);

08a= 【2】;

09if(m

10{

11m=m+n;

12n=m-n;

13m=m-n;

14}

15while(n!=0)

16{

17r= 【3】;

18m=n;

19n=r;

20}

21printf("The largest divisor is : %d\n", 【4】); /*输出最大公约数*/

22printf("The smallest common multiple is : %d\n",a/m); /*输出最小公倍数*/

23getch();

24}

题目4:在屏幕上打印出下三角的乘法表,如图6.1。试着完成下面的程序,并查看运行结果是否正确。

图6.1 乘法表

01#include

02#include

03main( )

04{

05int i,j;

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

07{

08for(j=1; 【1】;j++)

09printf("%d*%d=%-4d",i,j, 【2】);

10printf("\n");

11}

12getch();

13}

题目5:在屏幕上打印出1000以内的素数,每行打印出10个,并统计个数。要求:程序填空并写出运行结果。

01#include

02#include

03main( )

04{

05int i,j,prime,s=0;

06for(i=2; 【1】;i++)

07{

08prime=1;

09for(j=2;j<=i-1;j++)

10{

11if( 【2】)

12{

13prime=0;

14break;

15}

16}

17if( 【3】)

18{

19printf("%6d",i);

20s++;

21if( 【4】)