c语言 三目运算 y= x(x<1),2x-1(1<=x<10),3x-11(x>=10)
答案:2 悬赏:0
解决时间 2021-01-29 16:45
- 提问者网友:优雅ぉ小姐
- 2021-01-29 06:54
#include
void main ()
{
float y; int x;
scanf ("%d",&x);
y=(x>=1&&x<10)?(2x-1):((x<1)?x:(3x-11));
printf("%f",y);
} 好像是三目错了,那个三目有什么规则,求正确的程序
最佳答案
- 二级知识专家网友:糜废丧逼
- 2021-01-29 07:47
不是顺序的问题,而是你把它当数学式子来写了,2x-1和3x-11计算机都不能识别,应该改成2*x-1和3*x-11.
全部回答
- 1楼网友:寂寞的炫耀
- 2021-01-29 09:09
#include<stdio.h>
void main (){
float y;
int x;
scanf ("%d",&x);
y=(x>=1&&x<10)?(2x-1):((x<1)?x:(3x-11)); //三目运算符的结合性是从右向左的,也就是先计算(x<1)?x:(3x-11),而在((x<1)?x:(3x-11))里面,他又先计算3x-11,再计算x,在判断x<1是否为真,得到((x<1)?x:(3x-11)); 的值之后,再计算2x-1,在之后判断x>=1&&x<10的值
printf("y=%f",y);
}
我要举报
大家都在看
推荐资讯