实验4-2 选择结构程序设计(二)
1
【实验目的】
(1)学会正确使用运算符和逻辑表达式
(2)熟练掌握if语句的三种结构
【实验要求】
(1)掌握运算符的优先级和结合方向,正确使用运算符和逻辑表达式。
(2)熟练掌握if语句的多分支结构。
(3)熟练掌握if语句关键字else的正确搭配使用。
【实验环境】
(1) Microsoft XP操作系统
(2) Microsoft VC++ 6.0
【实验内容】
1、程序改错
题目描述:阅读下面程序段,编译调试程序,并改正错误语句。
#include < stdio.h >
int main()
{
double x,y;
scanf(“%lf”,&x);
if(x>=5)
y=x^2;
else if(0=<x<5)
y=x+1;
else
y=abs(x);
printf("%lf\n",y);
return 0;
}
输入:输入一个实数。
输出:计算分段函数的值
样例输入:-45
样例输出:45.000000
2、三个数排序/acmhome/problemdetail.do?&method=showdetail&id=1454
题目描述:输入三个整数x,y,z,请把这三个数由小到大输出。
输入:输入数据包含3个整数x,y,z,分别用逗号隔开。
输出:输出由小到大排序后的结果,用空格隔开。
样例输入:2,1,3
样例输出: 1 2 3
3、整数位/acmhome/problemdetail.do?&method=showdetail&id=1474
题目描述:输入一个不多于5位的正整数,要求:
(1)求出它是几位数;
(2)分别输出每一位数字;
(3)按逆序输出各位数字。
输入:输入一个不多于5位的正整数。
输出:输出数据有3行,第一行为正整数位数,第二行为各位数字,第三行为逆序的各位数字。
样例输入:
123
样例输出: 3 1 2 3
3 2 1
4、分段函数 /JudgeOnline/problem.php?id=1470
题目描述: 有一个函数
⎪⎩
⎪⎨⎧≥-<≤-<=10 x 11310x 1 121 x x x x y
写一段程序,输入x ,输出y 。
输入: 一个数x
输出: 一个数y
样例输入:14
样例输出:31
5、自来水费计算/JudgeOnline/problem.php?id=1920
题目描述:
根据居民月用水量x(吨)计算并输出应该缴纳的水费y(元),输出时保留2位小数。
两者的函数关系如下:
输入:20
输出:39.50
样例输入:-1
样例输出:0.00
6、某年某月的天数
/acmhome/problemdetail.do?&method=showdetail&id=1465题目描述:输入年和月,判断该月有几天?
输入:输入年和月,格式为年\月
输出:输出该月的天数。
样例输入:2009\1
样例输出:31
提示:你应该知道如何判断闰年?
7、一元二次方程Ⅱ
/acmhome/problemdetail.do?&method=showdetail&id=1475题目描述:求一元二次方程ax2+bx+c=0的解。
a,b,c为任意实数。
输入:输入数据有一行,包括a b c的值
输出:按以下格式输出方程的根x1和x2。
x1和x2之间有一个空格。
x1 x2
⑴如果x1和x2为实根,则以x1>=x2输出。
⑵如果方程是共轭复根,x1=m+ni,x2=m-ni,其中n>0。
其中x1, x2, m,n均保留2位小数
样例输入:1 2 3
样例输出:-1.00+1.41i -1.00-1.41i
8、求解简单的四则运算表达式/JudgeOnline/problem.php?id=1923
题目描述:
输入一个形式如“操作数运算符操作数”的简单四则运算表达式,输出运算结果,要求保留两位小数。
如果输入的运算符非四则运算运算符(加减乘除),则输出“Unknown operator!”。
输入:
3.1+
4.8
6.9-
7.1
2.3/1.1
4.9*
5.7
6>9
输出:
7.90
-0.20
2.09
27.93
Unknown operator!
样例输入:6.9-7.1
样例输出:-0.20
9、输入数字星期,输出英文
/sdutoj/problem.php?action=showproblem&problemid=1119题目描述:从键盘上输入数字星期,然后输出它的英文。
其对应关系是:
1 Monday
2 Tuesday
3 Wednesday
4 Thursday
5 Friday
6 Saturday
7 Sunday
输入:从键盘输入数字星期,输入数字在1-7之间。
输出:输出该数字对应的英文星期表示。
示例输入:2
示例输出:Tuesday
10、分制转换/JudgeOnline/problem.php?id=1471
题目描述
给出一百分制成绩,要求输出成绩等级…A‟、…B‟、…C‟、…D‟、…E‟。
90分以上为A 80-89分为B 70-79分为C 60-69分为D 60分以下为E
输入:一个整数0-100以内
输出:一个字符,表示成绩等级
样例输入:90
样例输出:A。