C语言问题
第一部分
编写一段程序,程序名称命名为1.c,完成如下任务:
(1)从键盘上输入一个成绩(float类型),输出该成绩对应的等级。其中,成绩为[90, 100]时,等级为A;成绩为[80, 90)时,等级为B,成绩为[70, 80)时,等级为C,成绩为[60, 70)时,等级为D;成绩为<60时,等级为E。
(2)要求使用if-else if结构。
(3)在输入和输出时要有提示性语句。
第二部分
编写一段程序,程序名称命名为2.c,完成如下任务:
(1)从键盘上输入一个成绩(float类型),输出该成绩对应的等级。其中,成绩为[90, 100]时,等级为A;成绩为[80, 90)时,等级为B,成绩为[70, 80)时,等级为C,成绩为[60, 70)时,等级为D;成绩为<60时,等级为E。
(2)要求使用switch-case结构。
(3)在输入和输出时要有提示性语句。
提示:
switch-case结构如下所示:
其中,switch后面括号内的“表达式”的值必须为离散型,而从键盘上输入的成绩是连续型,因此,必须把连续型的成绩转化为离散型的值。
假设成绩变量为grade(float类型),则switch后面括号内的“表达式”应该写成(int)grade/10,也就是说,假设grade=85.5,则(int)grade/10=85/10=8,推而广之,成绩为[80, 90)时,都可以转换为8,则case后面的“常量表达式”为8时,对应的等级为B。对于其他分数段,也是同样的推导方法。
需要注意的是,对于分数段[90, 100],需要分解为[90, 100)和100两部分,之后分别转换。思考一下,为什么这么做?
第三部分
编写一段程序,程序名称命名为3.c,实现如下任务:
(1)编写一个子函数,使其可以完成加、减、乘、除的运算功能。
(2)在主函数中,从键盘输入两个double类型的变量和一个char类型的运算符号,调用(1)中的子函数,得出运算结果。
例如,如果运算符号为’+’时,返回两个数的和;如果运算符号为’-’时,返回两个数的差;如果运算符号为’*’时,返回两个数的积;如果运算符号为’/’时,返回两个数的商。
(3)在输入和输出时要有提示性语句。
提示:
子函数的形参应该有3个,两个double类型的变量(用来存放运算量)和一个char类型的变量(用来存放运算符号)。
作业帮用户2017-05-20举报