早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C语言问题第一部分编写一段程序,程序名称命名为1.c,完成如下任务:(1)从键盘上输入一个成绩(float类型),输出该成绩对应的等级。其中,成绩为[90,100]时,等级为A;成绩为[80,90)时

题目详情
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类型的变量(用来存放运算符号)。
▼优质解答
答案和解析
#include
void main ()
{
float cj;
printf("请输入一个成绩\n");
scanf("%f",&cj);
if(cj>=90 && cj<=100)
printf("你的成绩等级为A\n");
else if(cj>=80 && cj<90)
printf("你的成绩等级为B\n");
else if(cj>=70 && cj<80)
printf("你的成绩等级为C\n");
else if(cj>=60 && cj<70)
printf("你的成绩等级为D\n");
else
printf("你的成绩等级为E\n");
}
#include
void main ()
{
float cj;
printf("请输入一个成绩\n");
scanf("%f",&cj);
switch((int)cj/10)
{
case 10:
case 9:printf("你的成绩等级为A\n");break;
case 8:printf("你的成绩等级为B\n");break;
case 7:printf("你的成绩等级为C\n");break;
case 6:printf("你的成绩等级为D\n");break;
default:printf("你的成绩等级为E\n");
}

}
#include
double cal(double a,double b,char c);
void main ()
{
double a,b,jg;
char f;
printf("请输入一个数\n");
scanf("%lf",&a);
printf("请输入另一个数\n");
scanf("%lf",&b);
getchar();
printf("请输入一个运算符\n");
scanf("%c",&f);
jg=cal(a,b,f);
printf("运算的结果是:%lf\n",jg);
}
double cal(double a,double b,char c)
{
double jg;
switch(c)
{
case '+':jg=a+b;break;
case '-':jg=a-b;break;
case '*':jg=a*b;break;
case '/':jg=a/b;break;
}
return jg;
} 这个就行
看了C语言问题第一部分编写一段程序...的网友还看了以下:

高中生物的孟德尔的实验的杂交实验的运用基因行为AaBb的个体与基因型为aaBb的个体杂交,子代中的基  2020-03-31 …

对宿主程序进行修改,使自己变成合法程序的一部分并与目标程序成为一体的病毒称为(40)。A.源码型病  2020-05-26 …

对宿主程序进行修改,使自己变成合法程序的一部分并与目标程序成为一体的病毒称为______。A.源码型  2020-05-26 …

在购买过程中,消费者介入程度很高,品牌差异很大,此时消费者采用的购买决策过程类型为( )。 A.无  2020-05-30 …

如图表示某一基因型为ABb的动物个体,正常细胞分裂过程中部分细胞分裂图象及分裂过程中DNA含量的变  2020-06-25 …

如图表示某一基因型为AaBb的动物个体,正常细胞分裂过程中部分细胞分裂图象及分裂过程中DNA含量的  2020-06-25 …

光子在太阳能发电过程中是否会消失太阳能发电过程.以晶体为例描述光发电过程.P型晶体硅经过掺杂磷可得N  2020-11-25 …

如图为基因型AaEeTt的某动物在减数分裂过程中产生的1种雌性初级性母细胞,该图示染色体行为的细胞占  2020-12-01 …

玉米是一种雌雄同株的植物,其顶部开雄花,下部开雌花。已知正常株的基因型为AB,基因型为aaB的植株下  2020-12-05 …

有面值分别为十元、五元、二元的人民币共27张,共108元.十元的张数比五元的少七张,那么十元、五元和  2020-12-31 …