实验三控制结构 、实验目的 通过实验掌握结构化程序设计的基本思想方法,C语言的基本控制结构和控 制转移语句 二、实验要求 1.掌握形成控制结构语句的使用方法,熟练运用。 ①选择结构语句:i语句, switch语句 ②循环结构语句:for语句, while语句,do- while语句。 2.掌握控制转移语句的正确使用方法,并在编程中能灵活使用,通过编程 掌握在什么情况下使用下列语句。 ①限定转向语句: break语句, continue语句, return语句。 ②无条件转向语句:goto语句 3.编写实验报告(三)。 、实验内容 3-1阅读下面程序(S3-1C),说明该程序的功能,写出执行过程及结果 源程序S3-1C #include"stdio. h' maino int day; printf(("请输入要查询的星期:Ⅶn"), scanf ("%d", &day) if (day==1) printi("上午:英语,数学,政治,体育下午:法律n") printi("上午:物理,计算机,美术下午:音乐n"); Ise if(day=3) else i printf("上午:英语,数学,语文下午:锻炼n") (day==4) print〔"上午:计算机,物理,形势下午:班会n") else if (day==5) printi("上午:写作,实习下午:听力mn"), else printf("休息n");
1 实验三 控 制 结 构 一、实验目的 通过实验掌握结构化程序设计的基本思想方法,C 语言的基本控制结构和控 制转移语句。 二、实验要求 1.掌握形成控制结构语句的使用方法,熟练运用。 ①选择结构语句: if 语句,switch 语句; ②循环结构语句: for 语句,while 语句,do-while 语句。 2.掌握控制转移语句的正确使用方法,并在编程中能灵活使用,通过编程 掌握在什么情况下使用下列语句。 ① 限定转向语句:break 语句,continue 语句,return 语句。 ② 无条件转向语句:goto 语句。 3.编写实验报告(三)。 三、实验内容 3-1 阅读下面程序(S3-1.C),说明该程序的功能,写出执行过程及结果。 源程序 S3-1.C #include "stdio.h" main() { int day; printf ("请输入要查询的星期:\n"); scanf ("%d",&day); if (day==1) printf("上午:英语,数学,政治,体育 下午:法律\n"); else if (day==2) printf("上午:物理,计算机,美术 下午:音乐\n"); else if (day==3) printf("上午:英语,数学,语文 下午:锻炼\n"); else if (day==4) printf("上午:计算机,物理,形势 下午:班会\n"); else if (day==5) printf("上午:写作,实习 下午:听力\n"); else if (day==6 ||day==7) printf("休息\n");
printi("非法输入n"); 3-2将程序S3-1C用 switch语句改写并实现。 3-3求水仙花数。如果一个3位数的个位数、十位数和百位数的立方和等于该 数自身,则称该数为水仙花数。编程(S3-3C)求出所有水仙花数,并写 出输出结果。 3-4如果程序的执行结果是: 3369 8816243240485664 试编写打印该九九乘法表的程序(S3-4C)。 3-5阅读下面的程序(S3-5C),试说明程序的功能和运行结果? 源程序S3-5C #include maino int t, n, i,j, k; static int count sum printi("请输入一个短整型数:"); an("%d",&n); doi t/=10 while(tl=o) for(i=count i>l; i--) for(=l
2 else printf("非法输入\n"); } 3-2 将程序 S3-1.C 用 switch 语句改写并实现。 3-3 求水仙花数。如果一个 3 位数的个位数、十位数和百位数的立方和等于该 数自身,则称该数为水仙花数。编程(S3-3.C)求出所有水仙花数,并写 出输出结果。 3-4 如果程序的执行结果是: * 1 2 3 4 5 6 7 8 9 1 1 2 2 4 3 3 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 45 54 63 72 81 试编写打印该九九乘法表的程序(S3-4.C)。 3-5 阅读下面的程序(S3-5.C),试说明程序的功能和运行结果? 源程序 S3-5.C #include main() { int t,n,i,j,k; static int count,sum; printf("请输入一个短整型数: "); scanf("%d",&n); t=n; do{ t/=10; count++; }while(t!=0); t=n; for(i=count;i>1;i--) { k=1; for(j=1;j<i;j++)
k=k*10 /k. printf("%d%c,t, + sumMum sumt-n printf("%d=%d\n", n, sum); 3-7完善程序S3-7C。输入一串字符,以“#”符号作为输入结束标志,显示其中 字母和数字的个数,写出程序的执行过程和结果。 源程序S3-7C char ch; int ch num, dig num ch num=dig num=0 i while(ch!=#); printf("The number of chars is%d. \"ch num); printf("The number of digital is%d. \n", dig_num);
3 k=k*10; t=n/k; n=n-k*t; printf("%d%c",t, '+'); sum=sum+t; } sum+=n; printf("%d=%d\n",n,sum); } 3-7 完善程序 S3-7.C。输入一串字符,以“#”符号作为输入结束标志,显示其中 字母和数字的个数,写出程序的执行过程和结果。 源程序 S3-7.C main() { char ch; int ch_num, dig_num; ch_num=dig_num=0; do { } while (ch!= ′#′); printf("The number of chars is%d。\n",ch_num); printf("The number of digital is%d。\n",dig_num); }