实验七循环结构程序设计(2 级 姓名 指导老师 成绩 第 机房 号机器时间: 实验目的:1 步掌握三种循环语句 2.掌握循环嵌套的执行过程 3.熟练使用循环语句、循环嵌套编写程序 实验要求:每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导 老师检查后,上机运行、调试程序,得出最终正确结果 实验内容 读程序 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。 1.下述程序运行时输入的数据是3.6,24,写出输出结果 #include #include I float x,y,z scanf(”f,备 /y while (1) if( fabs(z)>1.0 z =x/y else break printf(“fn”,y) 析结果 运行结果
实验七 循环结构程序设计(2) 班级______________姓名___________指导老师_____________成绩___________ 第_____________机房___________号机器 时间:________________________ 实验目的:1. 进一步掌握三种循环语句。 2. 掌握循环嵌套的执行过程。 3. 熟练使用循环语句、循环嵌套编写程序。 实验要求:每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导 老师检查后,上机运行、调试程序,得出最终正确结果。 实 验 内 容 一、读程序 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。 1. 下述程序运行时输入的数据是 3.6,2.4 ,写出输出结果。 #include #include main() { float x,y,z ; scanf ( “ % f , % f “ , & x , & y ) ; z = x / y ; while (1) { if ( fabs(z) > 1.0 ) { x = y ; y = z ; z = x / y ; } else break ; } printf(“%f \n” , y ); } 分析结果 运行结果
第一部分c语言程序设计上机指导 #include int i,3,k printf("\n") for(i=1;i main( sun m n 4 m=1 for (3 =l ij main( int k =0 i char C=.A I switch (c++) k +=2 i break
第一部分 C 语言程序设计上机指导 ·33· ·33· 2. #include main() { int i , j , k ; printf("\n"); for (i=1 ;i main( ) { int i , j , sum , m , n = 4 ; sum = 0 ; for (i=1 ;i main( ) { int k =0 ; char c = ‘ A ‘ ; do { switch ( c + + ) { case ‘ A ’ : k + + ; break ; case ‘ B ’ : k - - ; case ‘ C ’ : k +=2 ; break ; case ‘ D ’ : k = k % 2 ; continue ;
C语言程序设计上机指导与同步训练 case k =k*l0 i break i intf("k=暑dn”,k) 分析结果 5.键盘输入(CR表示按 Enter键):6514,则将下面程序的运行结果填入下 表中。 #include main( printf ("Enter m, n ") scanf(”tdt各a &m sn while m I= n while( m main() int i,t=l, s=0 t printf ("d V 2.下面程序的功能是用“辗转相除法”求两个正整数的最大公约数,请在上
·34· C 语言程序设计上机指导与同步训练 ·34· case ‘ E ’ : k = k * 10 ; break ; default : k = k / 3 ; } k++ ; } while ( c ,则将下面程序的运行结果填入下 表中。 #include main() { int m , n ; printf (“ Enter m , n ”); scanf( “ %d %d ” , &m , &n ) ; while ( m != n ) { while ( m >n ) m-= n ; while ( m main() { int i,t=1,s=0; for(i=1;i<=101;i+=2) { ____________________ ; s = s + t ; _____________________ ; } printf ("%d \n ", s ) ; } 2. 下面程序的功能是用“辗转相除法”求两个正整数的最大公约数,请在_______上
第一部分c语言程序设计上机指导 35 填写正确内容。 #include int r, m scanf(" sdsd",&m printf(”d\n 3.以下程序功能是完成用10元人民币换成1角、2角、5角的所有兑换方案,请在 上填写正确内容。 (j=0;j main() for(n=1;n<=100;n++) while( m) m10
第一部分 C 语言程序设计上机指导 ·35· ·35· 填写正确内容。 #include main() { int r, m , n ; scanf(“ %d %d “ ,&m , &n) ; if (m main() { int i , j , k , L =1 ; for ( i = 0 ; i main() { int n , k = 1 ,s = 0 , m; for ( n=1 ;n s) printf(“%d” , n ); } }
C语言程序设计上机指导与同步训练 三、调试程序 要求:分析下列程序是否正确,如有错,错在哪儿?应如何改正?如正确,运行结果 如何?上机调试之。 1.以下程序输出1~100的整数数字 main() while( 1 ⊥=i100+1 printf(”暑6d,”,i); if(i号10==0) printf if( i>100) break L运行结果 错误 2.本程序运行后输出以下图形 for(⊥=0;i>=4;i++) for (1=4 i j>=0i 3 printf( "* w) printf(”\n"); 行结果 错误所在 错误 应改为 3.若从键盘输入两个正整数m和n,下面程序实现求其最大公约数和最小公倍数 main() int a, b
·36· C 语言程序设计上机指导与同步训练 ·36· 三、调试程序 要求:分析下列程序是否正确,如有错,错在哪儿?应如何改正?如正确,运行结果 如何?上机调试之。 1. 以下程序输出 1~100 的整数数字。 main() { int i =100; while( 1 ) { i = i%100+1 ; printf( “ %6d ,“ ,i ) ; if ( i%10==0 ) printf ( “ \n ”) ; if ( i>100) break ; } } 运行结果: 正确 错误所在: 错误 应改为: 2. 本程序运行后输出以下图形。 * * * * * * * * * * * * * * * main() {int i, j ; for (i=0 ; i >= 4 ; i ++) { for (j=4 ; j>= 0 ; j --) printf( “* “ ) ; printf(“ \n”); } } 运行结果: 正确 错误所在: 错误 应改为: 3. 若从键盘输入两个正整数 m 和 n ,下面程序实现求其最大公约数和最小公倍数。 main() { int m , n,t; int a,b;
第一部分c语言程序设计上机指导 37 printf ( Enter m, n:")i scanf("dd"”,m,&n) [t=m; m=n; n=t; I while(b=0) [t=asb; printf ("\ngd \n",a printf("gd\n", m*n/a) 正确 错误所在 4.下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必 须有白球,输出所有可能的方案。 main() for(j=0;j=0&&k<=6) printf(”3d3d3dn”,i,j,k) 运行结果: 应改为 四、写程序 1.一球从100高度自由落下,每次落地后跳回高度的一半再次落下,求它在第10次 落地时,经过多少米?第10次反弹有多高? 2.编写一个程序求出200~300之间的整数,且满足条件:它们3个数字之积为42,3 个数字之和为12。 3.一百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天 给你10万元,而你第一天只需给我1分钱,第二天我仍给你10万元,你给我2分钱,第 天我仍给你10万元,你给我4分钱……你每天给我的钱是前一天的2倍,直到满1个月 (30天),百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人
第一部分 C 语言程序设计上机指导 ·37· ·37· printf (" Enter m , n :") ; scanf ("%d%d" ,&m ,&n ) ; if(m=0 && k <=6 ) printf(“ 3%d %3d %3d\n” , i , j , k ); } } 运行结果: 正确 错误所在: 错误 应改为: 四、写程序 1. 一球从 100 高度自由落下,每次落地后跳回高度的一半再次落下,求它在第 10 次 落地时,经过多少米?第 10 次反弹有多高? 2. 编写一个程序求出 200~300 之间的整数,且满足条件:它们 3 个数字之积为 42,3 个数字之和为 12 。 3. 一百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天 给你 10 万元,而你第一天只需给我 1 分钱,第二天我仍给你 10 万元,你给我 2 分钱,第 三天我仍给你 10 万元,你给我 4 分钱……你每天给我的钱是前一天的 2 倍,直到满 1 个月 (30 天),百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人
C语言程序设计上机指导与同步训练 给了百万富翁多少钱?百万富翁给陌生人多少钱? 4.打印出以下图案
·38· C 语言程序设计上机指导与同步训练 ·38· 给了百万富翁多少钱?百万富翁给陌生人多少钱? 4. 打印出以下图案。 * * * * * * * * * * * * * * * * * * * * * * * * *