早教吧作业答案频道 -->其他-->
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类型的变量(用来存放运算符号)。
第一部分
编写一段程序,程序名称命名为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;
} 这个就行
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语言问题第一部分编写一段程序...的网友还看了以下:
求角度A度转到角度B的最快转向及度数逆转还是顺转?(左为0,360)(下为270)(右为180)(上 2020-03-31 …
点A沿直线前进1米到A1,绕着A1逆时针旋转90读在前进1米到A2,在绕A2逆时针旋转90读到A3 2020-05-13 …
某供电局公司为鼓励用户节约用电规定某供电公司为鼓励用户节约用电,规定:若每户每月用电不超过90千瓦 2020-05-21 …
(8分)下图中甲图所示范围全部为昼半球,N点为北极点,B点为90°E经线与南极圈的交点,读图,完成 2020-06-27 …
正东正西时,太阳时角是否应该为90度?日出和日落时刻的时角有什么关系?正东和正西时刻是否应该时角为 2020-07-30 …
在三角形ABC中∠ACB=∠2B,如图1,∠C=90,AD为△ABC的角平分线时,在AB上截取AE 2020-08-02 …
已知90°E地方时为10号17时求90°W区时格式:1.化经度为时区2.求区时差3.求xxx区时 2020-11-07 …
该图是北半球局部日照图,AB为晨昏线,纬线BC弧度为90º。图示区域恰好全部为8日。读图回答问题。1 2020-11-13 …
为了节能减排,某电力公司规定如下的电费计算方法:每月不超过90千瓦时,按每千瓦时0.65元计费;每月 2020-11-14 …
为了节约能源,某市电力公司规定如下的电费计算方法:每月不超过90千瓦时,按每千瓦时0.52元计算;每 2020-11-14 …