c语言编译分段函数解析
⑴ c语言分段函数
写法1
if (x>-5 && x<0) y = x;
if (x == 0) y=x-1;
if (x>0 && x<10) y = x+1;
写法2
if (x>-5 && x<10)
{
y=x; //在这个范围,不论怎样,先把y赋值为x
if (x>=0) //在这个范围,需要对y值做修改
{
y = y-1; //先把y-1再说,对应x=0的情况,如果x!=0,那么我们再次修改
if(x>0)
y = y+2; //刚刚y-1了,所以需要+2
}
}
写法3,终于是正常点的做法了
if (x>-5 && x<0) y=x;
else
{
if (x<10)
{
if (x==0) y=x-1;
else y=x+1;
}
}
写法4
switch(x)
{
case 0:
y=x-1;
break;
case -4;
case -3;
case -2;
case -1;
y=x;
break;
case 1;
case 2;
case 3;
case 4;
case 5;
case 6;
case 7;
case 8;
case 9;
y=x+1;
break;
}
⑵ C语言编写分段函数
#include<stdio.h>
intmain()
{
intx,y;
scanf("%d",&x);
if(x<-10)
y=0;
elseif(x<100)y=5*x+1;
else
y=5*x+1;//这个表达式的值是什么啊
printf("%d ",y);
return0;
}
⑶ 求解C语言编译分段函数
用if-else语句实现
C语言代码如图
⑷ 用C语言中的if语句怎么编译一个分段函数
因为分段函数需要对定义域范围进行判定,所以需要用到级联式if else语句。
标准格式:
if (条件1)
{语句组1}
else if (条件2)
{语句组2}
... ...
else //这里包括了所有不在前面提到的条件中的情况,不需要单独说明。
{}
流程图如下:
再写一个简单的例子吧,x>0 --> f(x) = x & x<0 --> f(x) =-x ;
if (x > 0)
f = x;
else
f = -x;
⑸ 分段函数c语言编程
if
else写的不对,你不加花括号{}
的话,那么if
和
else
后面只能跟一句话,你这明显是多句代码,所以建议用花括号括起来。。
⑹ 怎么用c语言编程一个分段函数
实验报告
1、有一分段函数:
设计一程序完成, 主控函数main()输入X的值并输出Y值.函数VAL计算Y的值。
1.需求规格说明
本题要求掌握C语言的数据类型,程序结构,基本输出输入,函数应用知识,问题的要求用到两个函数,要求利用主控函数main()输入X的值并输出Y值.并用函数VAL计算Y的值。
2.设计
2.1 设计思想
用两个储存空间分别存放主函数和被调用函数,在主函数中控制输入输出,在调用函数中对数据进行处理. 本程序需要用到实型变量作为数据主要数据类型.
2.2 设计表示
本程序有两大模块,主函数MAIN()和被调用函数VAL()
2.3实现注释
程序开发环境为“Windows XP sp2中文版“为操作系统,运行环境turbo c/vc 6.0等等可以运行C语言程
2.4详细设计
3.用户手册
用户打开turbo c/vc 6.0的界面,启动本程序,然后按ALT+R运行程序,用户根据提示输入x值, 然后按回车键,最后用ALT+F5看运行结果。
4.调试报告
在调试过程中,如果在主函数中没有调用函数y=VAL(x),结果可以运行,但不能得到正确的结果.由此可知,我们在做主控函数时,一定要注意调用函数的重要性.
5.源程序清单
#include<stdio.h>
void main()
{float VAL(float x);
float x,y;clrscr();
printf("input x=");
scanf("%f",&x);
y=VAL(x);
printf("y= %f",y);
}
float VAL(float x)
{float y;
if(x<1)
y=x;
else if(x>=1&&x<10)
y=2*x-1;
else
y=3*x-11;
return(y);
}
⑺ C语言分段函数
我想问你个问题:你是不是用x = -1测试的??
那么y = x-1 跟 y = 2x的结果不是一样么,都是-2啊。。。不要因此得出结论x<=-1的时候y=2x
另外,你这个函数如果用if就全用if,如果用if--else-if,就全部这样,不要混合用,很乱。
建议都用if--else if,这样能够看出是一个分段函数。
⑻ c语言求分段函数
帮你改了下代码,VC6测试通过,自己看看吧。
#include<stdio.h>
int main()
{
float x,y;//根据给定的测试用例,x,y应该为float型
scanf("%f",&x);//x为float型,所以改为%f
if(x<20)
{
y=x+100;
}
else if(x>=20&&x<=100)
{
y=x;
}
else
y=x-100;
printf("x=%f,y=%f\n",x,y);
return 0;//缺少分号
}
⑼ c语言 分段函数 如图急求~
#include<stdio.h>
#include<math.h>
intmain()
{floatx,y,z;//修改一
scanf("%f%f",&x,&y);
if(x>0&&y>0)
z=1.0/(double)(x+y);
elseif(x<0&&y>0)
z=sqrt(2*x-3*y);
elseif(y<0)//修改二
z=exp(x+y);
elsez=0;
printf("%lf",z);
return0;
}
题目有错误,在第二象限的话,根号下怎么能为负数呢
#include<stdio.h>
#include<math.h>
intmain()
{doublex,y,z;
scanf("%lf%lf",&x,&y);
if(x>0&&y>0)
z=1.0/(double)(x+y);
elseif(x<0&&y>0)
z=sqrt(2*x-3*y);
elseif(y<0)
z=exp(x+y);
elsez=0;
printf("%lf",z);
return0;
}