当x0且 x≠3 时 y=x*x +x-6
广阳网站建设公司成都创新互联,广阳网站设计制作,有大型网站制作公司丰富经验。已为广阳1000多家提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的广阳做网站的公司定做!
当 0=x0且x≠2及x≠3时 y=x*2-5x+6
当 x=其他 时 y=x*2-x-1
请问楼主,这是怎么分段的?当x0且 x≠3?x0还用且x不等于3吗?0=x0?什么数不但大于等于0而且小于0?
#includestdio.h
#includemath.h
void main()
{
float x,y;
scanf("%f",x);
if(x0x!=3)
y=x*x+(x-6);
else if(x=0x!=2x!=3)
y=x*x-(5*x)+6;
else
y=x*x-x-1;
printf("%f",y);
}
你好,你这样写肯定是的,我给你分析一下,当程序执行到第一个if时要判断if语句的条件,假设满足条件则执行了语句1,这是对的,是吧,例如你求的是y的值,假设语句1是y=x+1,则第一个if语句执行完后y=x+1;接着执行第二个if语句,此时肯定是不满足if的条件的是吧?(因为满足了第一个就不会再满足第二个),所以就要执行第二个if的第二个语句即else语句,假设语句3为y=y+2,则最终的结果就是y=y+2,也就是语句3.所以在这样的情况下,你一定要排除你已经用过的情况不能再使用,所以只需改为: if() 语句1;else if() 语句2; else 语句3;即可。
#include iostream
#include cmath
int main()
{
using namespace std;
cout"请输入x的值(x10):";
double x,y;
cinx;
int n;
if(x=10x20)
n=1;
else if(x=20x30)
n=2;
else if(x=30x40)
n=3;
else if(x=40x50)
n=4;
else if(x=50)
n=5;
switch(n)
{
case 1:
y=log10(x);
break;
case 2:
y=log10(x)/log10(3);
break;
case 3:
y=cos(x);
break;
case 4:
y=pow(x,5);
break;
case 5:
y=1.0/tan(x);
break;
default:
cout"\n你输入的值不在取值范围内,再见!\n";
break;
}
if(x10)
cout"\n本函数的y值为:"y"。*^o^*\n";
return 0;
}
#include "stdio.h"
#include "math.h"
int main(int argc,char *argv[]){
double x,y;
printf("Input x(R:)...\nx=");
scanf("%lf",x);
if(x5)
y=-x+3.5;
else if(x=5 x10)
y=20-3.5*pow(x+3,7);//这里看着像7,是几就把7改成几
else
y=-3.5+sin(x);
printf("y = %g\t(x==%g)\n",y,x);
return 0;
}
运行样例: