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

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语言问题第一部分编写一段程序...的网友还看了以下: