实验2 逻辑结构程序设计(答案)
- 格式:doc
- 大小:132.50 KB
- 文档页数:6
程序设计题库及答案详解程序设计题库及答案详解是面向计算机科学与技术专业学生以及编程爱好者的一份重要学习资料。
它不仅包含了大量的编程题目,还提供了详细的解题思路和答案,帮助读者深入理解程序设计的原理和技巧。
# 一、基础题目1. 题目1:编写一个程序,实现两个整数的加法。
- 答案详解:首先定义两个整数变量,然后使用加法运算符将它们相加,并将结果存储在一个新变量中。
最后,输出结果。
2. 题目2:编写一个程序,实现字符串的反转。
- 答案详解:可以使用循环结构遍历字符串的每个字符,并将它们添加到一个新的字符串的开始位置。
完成后,输出反转后的字符串。
# 二、数组与循环3. 题目3:编写一个程序,找出数组中的最大值。
- 答案详解:首先初始化一个变量来存储最大值,然后使用循环遍历数组中的每个元素,并与当前最大值进行比较,如果当前元素更大,则更新最大值。
循环结束后,输出最大值。
4. 题目4:编写一个程序,实现数组的排序。
- 答案详解:可以使用冒泡排序或选择排序等算法。
以冒泡排序为例,通过多次遍历数组,比较相邻元素的大小,并在必要时交换它们的位置,直到整个数组有序。
# 三、函数与递归5. 题目5:编写一个函数,计算两个数的乘积。
- 答案详解:定义一个函数,接受两个参数,然后在函数内部使用乘法运算符计算它们的乘积,并返回结果。
6. 题目6:编写一个递归函数,计算阶乘。
- 答案详解:定义一个递归函数,如果输入的数为0或1,则返回1;否则,返回输入数乘以递归调用该函数的结果,输入数减1。
# 四、数据结构7. 题目7:编写一个程序,实现链表的插入操作。
- 答案详解:首先定义链表节点的结构,然后编写一个函数来创建新的节点。
在插入操作中,根据插入位置的不同,调整节点的指针指向。
8. 题目8:编写一个程序,实现二叉树的遍历。
- 答案详解:可以使用前序、中序或后序遍历。
以中序遍历为例,首先遍历左子树,然后访问根节点,最后遍历右子树。
C程序设计实验报告(答案)《C程序设计》实验报告班级:学号:学期:2009--2010学年第⼆学期姓名:《C程序设计》实验报告学期:2009--2010学年第⼆学期教师姓名:教研室:软件⼯程教研室实验1 熟悉C语⾔程序的运⾏环境,掌握数据描述1.1 实验⽬的1.了解在开发环境中如何编辑、编译、连接和运⾏⼀个C语⾔程序。
2.通过运⾏简单的C语⾔程序,初步了解C语⾔程序的结构特点。
3.掌握C语⾔数据类型的概念,学会使⽤C语⾔的相关运算符构成表达式。
1.2 实验预习1.熟悉Turbo C的启动和退出及Turbo C中的编辑、编译、连接和运⾏命令。
2.了解下列命令及函数:include、main、printf、scanf。
3.熟悉Turbo C环境下每个菜单项的功能及相关命令对应的操作。
4.各种数据类型变量的定义形式及取值范围;熟悉下列标识符的含义。
int、short (int)、long (int)、unsigned (int)、float、double、char、void 5.各类运算符的优先级和结合规则。
6.常量与变量的区别和联系。
表1-1 Turbo C主菜单项功能表表1-2 Turbo C提⽰⾏功能表表1-3 Turbo C快捷操作表4.熟悉Turbo C环境下的块操作。
表1-4 基本光标命令功能操作表表1-5 快速光标移动命令功能操作表表1-6 插⼊与删除命令功能操作表表1-7 块操作命令功能操作表表1-8 其他命令功能操作表1.3 实验任务1.输⼊下列程序,记录在Turbo c 下的操作⽅法。
#includemain(){printf(“I am a student!”);}环境的启动操作:我的电脑—磁盘(各机房磁盘⽬录有所不同)—Turbo C⽂件夹—tc。
Exe 。
程序的编译⽅法:快捷键是 Alt+F9 ;菜单操作是Compile—compile to OBJ程序的保存⽅法:快捷键是 F2 ;菜单操作是 File--Save程序的运⾏⽅法:快捷键是Ctrl+F9;菜单操作是 Run运⾏结果的查看:快捷键是 Alt+F5 ;菜单操作是 Run—User Screen环境的退出操作:快捷键是 Alt+X ;菜单操作是 File--Quit4.现欲将编好的上例程序以⽂件名my.c保存⾄当前⽬录下,请阐述⽅法;当重新进⼊TC对其进⾏简单修改后欲将其另存⾄C 盘SY⽂件夹下(SY⽂件夹请⾃⾏创建),叙述⽅法。
实验二 选择结构程序设计一、实验目的1. 掌握关系表达式和逻辑表达式的使用。
2. 熟悉选择结构程序设计。
3. 熟练使用if 语句进行程序设计。
4. 使用switch 语句实现多分支选择结构。
二、实验内容(1 计算a+|b| 2 判断一个整数是否可以被3和5整除)1.[目的]掌握判断一个字符型数据是否数字字符的方法,以及数字字符转换为相应整数的方法。
[题目内容]从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。
[输入]一个字符型数据[输出]整数或出错信息[提示] 根据字符型数据的ASCII 码值是否在‘0’字符与‘9’字符之间进行判断。
使用if …else …语句和复合语句。
2.[目的]掌握条件表达式的使用[题目内容] 编写一个程序,其功能为:从键盘输入三个数x 、y 、z ,判断x+y=z 是否成立,若成立输出‚x+y=z ‛的信息,否则输出‚x+y!=z ‛的信息。
[输入] 三个数x 、y 、z[输出] ‚x+y=z ‛或‚x+y!=z ‛[提示] 条件判断表达式x+y==z3.[目的]掌握求最大值最小值的方法。
[题目内容] 编写一个程序,其功能为:输入三个整数,输出最大数和最小数。
[输入] 三个整数[输出] 最大值和最小值[提示] 设置最大值变量max 和最小值变量min ;首先比较a,b 的大小,并把大数存入max , 小数存入min ;然后最大值变量max 和最小值变量min 再与c 比较,若c 大于max ,则max 取值c ,否则保持不变;如果c 小于min ,则min 取值c ,否则保持不变。
最后输出max 和min 的值。
使用if …else …语句、if 语句以及复合语句。
4.[目的]运用已学知识解决实际问题。
[题目内容]如下两个线性方程组的两个未知数为x1和x2:ax 1+bx 2=mcx 1+dx 2=n该方程的唯一解为(ad-cb 不等于零时):cb ad bn md x --=1 bcad mc na x --=2 请编写一个程序,读取a 、b 、c 、d 的值,计算x1和x2的值。
选择结构程序设计【实验目的】1.熟悉关系表达式和逻辑表达式的使用;2.了解C语句表示逻辑量的方法(以0代表“假”,以非0代表“真”);3.掌握break和continue语句的使用,以及它们之间的区别;4.掌握if语句和switch语句的应用。
【实验内容】1、程序填空(1)下面程序的功能为:输入一个整数,判断该数是否能被7整除。
完成以下程序并运行出正确结果。
# include <stdio.h>void main(){int i;p rintf (“Plaese enter a int number:”);scanf(“%d”,&i);/**************found*************/if ( i%7==0)p rintf(“Yes.\n”);elsep rintf( “No.\n”);}(2)下面程序的功能为:输入两个整数,按照从大到小的顺序输出。
完成以下程序并运行出正确结果。
# include <stdio.h>void main(){int a,b;scanf(“%d,%d”,&a,&b);if(a<b)/**************found**************/{ int t; t=a; a=b; b=t; } //实现两数交换printf(“%d,%d”,a,b);}2.程序改错(1)下面程序的功能为:绝对值函数y=|x|,修改以下的程序并上机运行。
#include <stdio.h>void main(){int x;scanf(“%d”,&x);if(x>=0);y= x;else(x<0)y= -x;printf(“%d”,y);}正确的程序:#include <stdio.h>void main(){int x ,y ; //变量y 没有定义scanf(“%d”,&x);if(x>=0) //句尾不能有“;”y= x;else //else 后不能跟条件y= -x;printf(“%d”,y);}(2)下面程序的功能为:输入一个整数,判断该数是否能同时被3和7整除,修改以下的程序并上机运行。
选择结构程序设计【实验内容】1、程序填空(1)下面程序的功能为:输入一个整数,判断该数是否能被7整除。
完成以下程序并运行出正确结果。
# include <stdio.h>void main(){int i;p rintf (“Plaese enter a int number:”);scanf(“%d”,&i);/**************found*************/if ( i%7==0 )p rintf(“Yes.\n”);elsep rintf( “No.\n”);}(2)下面程序的功能为:输入两个整数,按照从大到小的顺序输出。
完成以下程序并运行出正确结果。
# include <stdio.h>void main(){int a,b;scanf(“%d,%d”,&a,&b);if(a<b)/**************found**************/{ int t; t=a; a=b; b=t; } //实现两数交换printf(“%d,%d”,a,b);}2.程序改错(1)下面程序的功能为:绝对值函数y=|x|,修改以下的程序并上机运行。
#include <stdio.h>void main(){int x;scanf(“%d”,&x);if(x>=0);y= x;else(x<0)y= -x;printf(“%d”,y);}正确的程序:#include <stdio.h>void main(){int x ,y ; //变量y 没有定义scanf(“%d”,&x);if(x>=0) //句尾不能有“;”y= x;else //else 后不能跟条件y= -x;printf(“%d”,y);}(2)下面程序的功能为:输入一个整数,判断该数是否能同时被3和7整除,修改以下的程序并上机运行。
答案基本订正过错处,程序设计题部分附上源代码,基本无误,但由于时间紧迫,可能也会有小问题,仅供参考。
以/* */表示程序注释。
第一章C语言概述参考答案一、选择题:1-7 ADCBBDD一、选择题:1-5 DBCBD二、算法设计(略)第三章一、选择题1-5 DCCDB 6-10 BACAA21-25 ADABA选择题24题题目应为:(a==b++二、填空题C程序设计-顺序程序设计参考答案D答案改为65534第五章选择结构程序设计参考答案一、选择题1-5 BCDCA 6-10 BCDCB 11-15 DABDD二、填空题1. switch或多分支开关控制2.fabs(x-2)<1e-63. 14. 45995. 10 20 0三、写出程序运行的结果Array 1.97,b2.a=1,b=33.该程序书上有误,正确的是:main(){ char c;while((c=getchar())!=‟\n‟){ switch(c-…1‟){case 0:case 1:putchar(c+2);case 3:putchar(c+4);default}}printf(“\n”);}结果:645341由于程序不同,该题可以有两个答案四、程序设计1、下列程序实现从键盘接收3个数,输出最大数和最小数#include <stdio.h>main(){ int a,b,c,max,min;scanf(“%d,%d,%d”,&a,&b,&c); /*键盘输入3个数a,b,c*/max=min=a; /*假设第一个数a是最大数,也是最小数/if(b>a) max=b; /*分别用a和b,c进行两次比较*/else min=b;if(c>max) max=c;if(c<min) min=c;printf(“\nmax=%d,min=%d”,max, min);}1.输入一百分制的成绩,输出他的等级,90以上“A”等,80-89为“B”等,70-79为“C”等,60-69为“D”等,60以下为“E”等。
c程序设计实验参考答案在计算机科学领域中,C程序设计是一门重要的课程,通过实验来加深对C语言的理解和应用,提高编程技巧和问题解决能力。
本文将提供一些C程序设计实验的参考答案,帮助学生更好地完成实验任务。
1. 实验一:基础语法练习实验目的:熟悉C语言的基础语法,掌握变量定义、运算符使用和基本IO操作等。
```c#include <stdio.h>int main() {int a = 5, b = 3;int sum, product;sum = a + b;product = a * b;printf("The sum of a and b is %d\n", sum);printf("The product of a and b is %d\n", product);return 0;}```2. 实验二:条件语句和循环结构实验目的:学习和掌握if-else语句、switch-case语句以及while和for循环的基本用法。
```c#include <stdio.h>int main() {int score;printf("Please enter your score: ");scanf("%d", &score);if (score >= 90) {printf("Excellent!\n");} else if (score >= 80) {printf("Good job!\n");} else if (score >= 70) {printf("Keep it up!\n");} else {printf("You need to work harder!\n");}int i;for (i = 1; i <= 10; i++) { if (i % 2 == 0) {printf("%d ", i);}}printf("\n");int j = 1;while (j <= 10) {if (j % 2 != 0) {printf("%d ", j);}j++;}printf("\n");return 0;}```3. 实验三:数组和字符串实验目的:熟悉数组和字符串的定义、初始化和基本操作,学习使用数组和字符串解决问题。
实验2顺序结构程序设计2014年月日代码:Public Class Form1Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChangedTextBox3.Text = Math.Sqrt(Val(TextBox1.Text) + Val(TextBox2.Text))TextBox4.Text = Int(Val(TextBox3.Text)) 结果取整TextBox5.Text = Math.Round(Val(TextBox3.Text), 2) 结果取两位小数End SubPrivate Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChangedTextBox3.Text = Math.Sqrt(Val(TextBox1.Text) + Val(TextBox2.Text))TextBox4.Text = Int(Val(TextBox3.Text))TextBox5.Text = Math.Round(Val(TextBox3.Text), 2)End SubEnd Class2.中等题(1)Public Class Form1Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickRandomize() 随机TextBox1.Text = Int(Rnd() * (99 - 10 + 1) + 10)TextBox2.Text = Int(Rnd() * (999 - 100 + 1) + 100)TextBox3.Text = Int(Rnd() * (9999 - 1000 + 1) + 1000)End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickTextBox4.Text = (Val(TextBox1.Text) + Val(TextBox2.Text) + Val(TextBox3.Text)) / 3 TextBox4.Text = Format(Val(TextBox4.Text), "0.0") 取一个小数点End SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.ClickEndEnd SubEnd Class(2)Public Class Form1Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress Dim n, a, b, c, d, m As IntegerIf Asc(e.KeyChar) = 13 Thenn = Val(TextBox1.Text)a = n Mod 10 取个位b = n \ 10 Mod 10 取十位c = n \ 100 Mod 10 取百位d = n \ 1000 取千位2: m = a * 1000 + b * 100 + c * 10 + dLabel2.Text = "逆序后整数为" & mIf Not IsNumeric(TextBox1.Text) ThenMsgBox("输入有非数字字符,请重新输入", , "数据检验") TextBox1.Text = ""TextBox1.Focus()End IfEnd IfEnd SubPrivate Sub TextBox1_MouseUp(ByVal sender As Object, ByVal e AsSystem.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseUpEnd SubPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadEnd SubEnd Class(3)代码Public Class Form1Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.ClickEnd SubButton6.ClickLabel2.Text = Button6.Text & "函数的结果"Dim m$ 字符串m = InputBox("用什么来代替", "replace函数")Dim n$n = InputBox("代替什么字符", "replace函数")TextBox2.Text = Replace(TextBox1.Text, n, m) m代替nEnd SubPrivate Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadEnd SubEnd Class(4)vb画图Word代码Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickShell("C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\devenv.exe", 1) End SubPrivate Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickShell("%windir%\system32\mspaint.exe", 1)End SubPrivate Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click。
C语言程序设计实验指导与习题解答三、注意事项及小结(1)通过本次实验,大家应该初步掌握 Visual C++ 6.0 集成开发环境的使用,包括集成 开发环境的进入、设置、退出,源程序的打开、编辑、保存、编译、运行等内容,能够读懂系 统提示的信息。
这样在今后的学习中,就可以把主要精力放到程序的调试上,提高上机效率。
(2)初学 C 语言程序,容易出错的地方是:①C 语言程序中的标点符号都需是英文输入法下的,如分号、逗号、引号等。
②语句后漏加分号。
如图 219 中编译出错,因为语句 printf("我们一起学习写 C 语言程 序!\n")的最后未加分号。
③使用标识符时,混淆了变量中字母的大小写。
如初学者可能会认为 abc 与 Abc 是同一 个变量,实际 C 编译系统会把它们看作两个不同的变量。
④程序语句中括号不匹配。
C 程序中的括号(如{}和()),引号(如""和''),都必须匹配, 即成对出现,如:例 211 中的源程序,若变为:#include <stdio.h>int main(){printf("我们一起学习写C语言程序!\n";return 0;}则会出现如下错误提示:G:\C例题\例211.c(4) : error C2143: syntax error : missing ')' before ';'即提示在语句“printf("我们一起学习写 C 语言程序!\n";”中分号';'之前少了括号')'。
实验二 数据类型、变量与表达式一、实验目的与要求1.理解数据类型的基本概念。
2.熟练掌握变量的使用方法。
3.熟练掌握运算符与表达式的使用方法。
二、实验内容1.写出下列程序的运行结果,并上机验证。
实验二逻辑结构程序设计实验课程名:高级语言程序设计ΙΙ专业班级:学号:姓名:实验时间:16-3-30 实验地点:K4 指导教师:一、实验目的及要求1.了解C语言表示逻辑量的方法(以0代表“假”,以非代表“真”)。
2.学会正确使用逻辑运算符和逻辑表达。
3.熟练掌握if语句和switch语句.4.学习调试程序。
二、实验内容(1)源程序c30105.c中包含有一些错误,调试下列程序,使之具有如下功能:输入a、b、c三个整数,求最小值。
# include “stdio.h”void main( ){ int a,b,c;scanf("%d%d%d",a,b,c);if((a>b)&&(a>c))if(b<c)printf("min=%d\n",b);elseprintf("min=%d\n",c);if((a<b)&&(a<c))printf("min=%d\n",a);}再次运行程序,输入为“2,1,3”,程序输出却是“min=2”。
用单步执行的方法,马上发现变量a、b、c的值是不对的,原因是程序要求输入数据的分隔符是空格(还允许使用回车或<Tab>键)。
改正输入数据的分隔方式后,程序没有输出,还是用单步执行的方法,监视程序的执行过程,发现程序中条件设计有误,经过改正的程序如下:# include “stdio.h”void main(){ int a,b,c;scanf("%d%d%d",&a,&b,&c);if((a<b)&&(a<c))printf("min=%d\n",a)else if((b<a)&&(b<c))printf("min=%d\n",b);else if((c<a)&&(c<b))printf("min=%d\n",c);elseprintf("No find minimum\n");}上述程序是按在三个数中仅有一个最小值时才称其为最小值进行设计的。
另外,注意程序的书写格式,一定要采用缩进格式,即不同层次(分支)的语句左起的空格不同,这样可以有效地提高程序的可读性。
相关知识:①类似a<b<c表达式的表示方法;②if语句的嵌套;③调试工具的使用。
④求最值的简单算法。
(二)实验任务2(1)程序代码:# include <stdio.h>void main(){ int a,b,c,d;scanf("%d%d%d%d",&a,&b,&c,&d);if((a>b)&&(a>c)&&(a>d))printf("max=%d\n",a);else if((b>c)&&(b>d))printf("max=%d\n",b);else if(c>d)printf("max=%d\n",c);elseprintf("max=%d\n",d);}(2)程序运行结果:(3)程序分析://先比较a与bcd大小,当a比其它三个都大时则输出a。
同理,当a最小时,再比较b与cd的大小,以此类推。
最后按顺序依次输出这四个数。
(三)实验任务3(1)程序代码:# include<stdio.h>int main(){int a[4];int i,j,t;printf("input 4 numbers:\n");for(i=0;i<4;i++)scanf("%d",&a[i]);printf("\n");for(j=0;j<3;j++)for(i=0;i<3-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("The sort numbers:\n");for(i=0;i<4;i++)printf("%d ",a[i]);printf("\n");return 0; }(2)程序运行结果:由小到大顺序:由大到小输出:(3)程序分析:采用“起泡法”排序算法和嵌套的for 语句;当执行外循环第一次循环时,j=0,然后执行第一次内循环,此时i=0,在if 语句中将a 【i 】和a 【i+1】比较……这时第一趟过程完成。
当执行第二次外循环时,J=1,开始第二趟过程。
内循环条件是i<3-J,由于j=1,因此相当于i<2,即i 由0到1。
其余类推。
(四)实验任务4根据以下c30108.c 函数关系,对输入的每个x 值,计算出相应的y 值。
(1)程序代码:# include <stdio.h> # include <math.h> # define p 3.141592 void main() {float x,y,z;scanf("%f",&x); if((x>=0)&&(x<=1)) y=exp(sqrt(x))-1;else if((x>=3)&&(x<=4)) y=x+2;else {z=pow(x,2)*(p/180);y=sin(z);} printf("x=%f\ny=%f\n",x,y); }(2)运行结果:⎪⎩⎪⎨⎧+-=)sin(2||12x x e yx4310≤≤≤≤x x当x 取其他值时(3)程序分析: 因为输入的是数字,所以应该先将数字转化为弧度制,故在程序开头先定义符号常量P 为3.141592,之后运行x 取不同值时所对应的程序,自后输出相应结果。
(五)5模仿第4题,写程序实现以下函数:⎪⎩⎪⎨⎧≥-≤≤-<=)10(113)101(12)1(x x x x x x y(1)程序代码:# include <stdio.h># include <math.h> int main() {float x,y;scanf("%f",&x); if(x<1) y=x;else if((1<=x)&&(x<=10)) y=2*x-1; else y=3*x-11;printf("x=%f\n,y=%f\n",x,y); }(2)运行结果:(3)程序分析:使用if嵌套语句,(六)实验任务6(1)程序代码:#include <stdio.h>void main( ){ int choice;int value;printf("Convert:\n"); /* 显示菜单*/printf(" 1:decimal to hexadecimal\n ");printf(" 2:hexadecimal to decimal\n ");printf(" 3:decimal to octal\n ");printf(" 4:octal to decimal\n");printf("enter your choice: ");scanf("%d",&choice);switch (choice){ c ase 1: /* 选中1时处理*/printf("enter decimal value:");scanf("%d",&value);printf("%d in hexadecimal is:%x\n",value,value);break;case 2: /* 选中2时处理*/printf("enter hexadecimal value:");scanf("%x",&value);printf("%x in decimal is:%d\n",value,value);break;case 3: /* 选中3时处理*/printf("enter decimal value:");scanf("%d",&value);printf("%d in octal is:%o\n",value,value);break;case 4: /* 选中4时处理*/printf("enter octal value:");scanf("%o",&value);printf("%o in decimal is:%d\n",value,value);break;}}(2)运行结果:(3)程序分析:该程序实现了不同进制间的转换,首先提示输入1~4中的一个数用来选择想实现几进制到几进制间的转换,例如首先输入1,程序会提醒输入一个你想转换的数字,之后程序会将你所输入的十进制数转换为二进制数。
(七)实验任务7(1)程序代码:# include <stdio.h>int main(){char DATE;scanf("%c",&DATE);printf("The Day Is:\n");switch(DATE){case'1':printf("Monday\n");break;case'2':printf("Tuesday\n");break;case'3':printf("Wednsday\n");break;case'4':printf("Thursday\n");break;case'5':printf("Friday\n");break;case'6':printf("Saturday\n");break;case'7':printf("Sunday\n");break;default:printf("enter date error!\n\a");}}(2)运行结果:(3)程序分析:日期date定义为字符变量,从键盘中输入1~7中任意一个数,switch得到date的值并把它和各case中给定的值(‘1’‘2’,‘3’,‘4’,‘5’,‘6’,‘7’之一)相比较,如果其中之一相同,则执行该case后面的语句(即printf后的语句)。