实验6 循环结构程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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】)