【实验二】选择结构程序设计
一、实验目的
1. 掌握关系表达式和逻辑表达式的使用。 2. 熟悉选择结构程序设计。
3. 熟练使用if语句进行程序设计。
4. 使用switch语句实现多分支选择结构。
二、实验内容
2.编写一个程序,其功能为:输入三个整数分别保存在a、b、c三个变量中,通过比较和交换,使得最终a、b、c三个变量中的值依次由小到大排列。要求分别输出排序前和排序后a、b、c中的值。 方法一:
#include
printf(\排序前的三个整数为:\\ta=%d\\tb=%d\\tc=%d\\n\ if(a>b) { t=a;a=b;b=t; if(b>c) { t=b;b=c;c=t; if(a>b) { t=a;a=b;b=t;}
}
} else { if(b>c) { t=b;b=c;c=t; if(a>b) { t=a;a=b;b=t;} } } printf(\排序后的三个整数为:\\ta=%d\\tb=%d\\tc=%d\\n\}
方法二:
#include
printf(\排序前的三个整数为:\\ta=%d\\tb=%d\\tc=%d\\n\ if(a>b) { t=a;a=b;b=t; } if(b>c) { t=b;b=c;c=t; } if(a>b) { t=a;a=b;b=t;} printf(\排序后的三个整数为:\\ta=%d\\tb=%d\\tc=%d\\n\}
4.有如下分段函数:要求编写一个程序,输入自变量的x值,计算并输出函数的值。
|x|+5 0
y=
x<0 X=0
2x?1 0 3x-11 X≥10 #include 5.编写一个程序,其功能为:从键盘输入一个字符,判别该字符属于数字字符、大写字母、小写字母、其它字四个的类别中的哪个类别,并输出相应的信息。 #include \void main() { char ch; printf(\请输入一个字符:\\n\ scanf(\ if(ch<32) printf(\这是一个控制字符。\\n\ else if(ch>='0'&&ch<='9') printf(\这是一个数字字符。\\n\ else if(ch>='a'&&ch<='z') printf(\这是一个小写字母字符\\n\ else if(ch>='A'&&ch<='Z') printf(\这是一个大写字母字符\\n\ else printf(\输入的是其他字符。\\n\} 6.编程在屏幕上显示一张如下所示的时间表: *******Time******* 1 morning 2 afternoon 3 night Please enter your choice: 根据用户输入的时间序号显示相应的问候信息,选择1时显示“Good morning”, 选择2时显示“Good afternoon”, 选择3时显示“Good night”,对于其他选择显示“Selection error!”。 #include \void main() { int xh; printf(\ printf(\ morning \\n\ printf(\ afternoon \\n\ printf(\ night \\n\ printf(\请输入您的选择(1、2、3):\ scanf(\ switch(xh) { case 1: printf(\ case 2: printf(\ case 3: printf(\ default: printf(\ } } 8.编写一个实现简单算术表达式计算的程序,从键盘输入的表达式格式如下: 操作数1 运算符op 操作数2 要求计算并按照指定格式输出表达式,可实现的运算包括加(+)、减(-)、乘(*)、除(/)。 [输入] Please enter the expression:22.12+12.10 键盘输入 屏幕提示 [输出] 22.12+12.10=34.22 程序输出 方法一: #include printf(“请输入表达式:”); scanf(“%f%c%f”,&x,&op,&y); if (op==?+?) z=x+y; if (op==?-?) z=x-y; if(op==?*?) z=x*y; if (op==?/?) {if (y!=0) z=x/y; else printf(“除数为0\\n”);} if(y!=0) printf(“%f%c%f=%f\\n”,x,op,y,z); } 方法二: #include printf(“请输入表达式:”); scanf(“%f%c%f”,&x,&op,&y); switch(op) { case ?+?: z=x+y; break; case ?-?: z=x-y; break; case ?*?: z=x*y; break; case ?/?: if (y!=0) z=x/y; else printf(“除数为0\\n”); } if(y !=0) printf(“%f%c%f=%f\\n”,x,op,y,z); }