分段函数
程序代码
#include <stdio.h>
#include <math.h>
/*
*csdn学院——2016级
*文件名称:Myfun31.c
*作者:小臣小仁
*完成日期:2016年11月13日
*问题描述:从键盘输入x的值(要求为整型),
*根据公式1计算并输出x和y的值。
*要求用switch语句完成。。
*/
int main()
{
float x,y;
int z;
printf("请输入x>-2的整数值:\n");
scanf("%f",&x);
z=(x<2)+(x<6)+(x<10);
switch(z)
{
case 3:y=sqrt(x+1);break;
case 2:y=x*x+1;break;
case 1:y=x;break;
default:y=1/(x+1);break;
}
printf("%.4f",y);
return 0;
}
输出结果
知识点总结:
这里我们用“(x<2)+(x<6)+(x<10)”来进行判断,当全部为真的时候z=3,表明输入的值x是满足x<2;x<6;x<10(说明x<10),如果z=2;说明x<6;如果x=1,说明
x<2;如何z=0;说明x>10.
心得体会
用逻辑运算符应用到switch语句,可以事半功倍。