一、题目一
请编写下列分段函数:
若x<1,y=0.4x+1;
若1<=x<=100,y=0.8x;
x>100,y=0.6x;
请从键盘读入x的值,计算y的值并输出。
二、题目一解题
#include <stdio.h>
int main()
{
float x,y;
printf("please input x:");
scanf("%f",&x);//从键盘读取数据存到变量x
if(x<1)
{
y=0.4*x+1;
}
else if(x>=1&&x<=100)
{
y=0.8*x;
}
else
{
y=0.6*x;
}//进行判断并执行相应语句,得到y值
printf("y=%f",y);//输出y值
}
三、题目二
给出一个百分制的成绩,要求输出成绩对应的等级A、B、C、D、E。90分以上为‘A’,80-89分以上为'B',70-79分为'C',60-69分以上为'D',60分一下为'E'。
请分别使用if和switch语句实现。
四、题目二解题
(一)if实现
if实现:
#include <stdio.h>
int main()
{
float grade;//定义浮点型变量存储分数
char level;//定义字符变量,存储等级
printf("please input grade(0<=grade<=100):");
scanf("%f",&grade);//从键盘读取数据存入grade
if(grade>=90)
{
level='A';
}
else if(grade>=80&&grade<=89)
{
level='B';
}
else if(grade>=70&&grade<=79)
{
level='C';
}
else if(grade>=60&&grade<=69)
{
level='D';
}
else
{
level='E';
}//if语句嵌套使用来判断输入分数对应的等级
printf("the grade is %c",level);//输出等级
}
(二)switch实现
#include <stdio.h>
int main()
{
float grade;//定义int型变量存储成绩
char level;//定义char型变量存储等级
printf("please input grade:");
scanf("%f",&grade);//从键盘读取数据存入grade
switch((int)grade/10)//switch语句判断,强制将grade/10的结果转换为int型,这样后面才能判断
{
case 10 :
case 9 : level='A';break;
case 8 : level='B';break;
case 7 : level='C';break;
case 6 : level='D';break;
default : level='E';
}
printf("the grade is %c",level);//输出等级
}
}