用C语言计算分段函数的值,谢谢

作业啊,太难拉,课本上找不到程序,谢谢帮忙
#include <stdio.h>
main()
{ float x,y;
printf("Input a data:");
scanf("%d",%x);
if (x<0 && x>=10 ) printf("Input error!\n");
else { if (0≤x<1) y=2-x;
else if (x<3) y=1+1/2x;
else if (x<6) y=2-0.5*(x-3.0);
if (x<10) y=x2;
printf("x=%.2f,y=%.1f\n",x,y);
}
}

这个程序有什么错误吗???

你这题可真不容易噢,亲自弄的,还有不懂不,有直接问我好了

#include <stdio.h>

 main()

 { float x,y;

   printf("Input  a data:");

   scanf("%f",&x);  /* 这里应该是&,取地址服,你打字打错了吧, 你定义为float 所以要%f */

   if (x<0 && x>=10 )  printf("Input error!\n"); 

   else if (0<=x<1)   y=2-x; /* 小于等于不是你这样的应该是<= “{”这个也是不需要的 */

   else if (x<3) y=1+1/(2*x);/* 2x一定要(2*x)这样表示 */

   else if (x<6)  y=2-0.5*(x-3.0);

   else y=x*2;    /* 其余所有事else,而不是if 而且else后门不用再加条件*/

   printf("x=%.2f,y=%.1f\n",x,y);

   getch();

 }

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-19
#include <stdio.h>
double Function(double x)
{
if (x<0) return -1;
else if (x<1) return (2-x);
else if (x<3) return (1+x*0.5);
else if (x<6) return (2-0.5*(x-3));
else if (x<10) return (x*x);
else return -2;
}
int main(void)
{
double x,y;
scanf("%lf",&x);
y=Function(x);
printf("%lf\n",y);
return 0;
}本回答被提问者采纳
第2个回答  2009-06-04
#include <stdio.h>
int main()
{
float x;
while(scanf("%f",&x)!=EOF)
{
float y;
if(x>=0&&x<1)
y=2-x;
if(x>=1&&x<3)
y=1+0.5*x;
if(x>=3&&x<6)
y=2-0.5*(x-3);
if(x>=5&&x<10)
y=x*x;
if(x>=10||x<0)
printf("error!\n");
else
printf("y=%f\n",y);
}
return 0;
}
//不知道是这个意思不?输入一个x输出相应的y。
第3个回答  2009-06-04
#include <stdio.h>
main()
{ float x,y;
printf("Input a data:");
scanf("%d",%x);
if (x<0 && x>=10 ) printf("Input error!\n");
else { if (0≤x<1) y=2-x;
else if (x<3) y=1+1/2x;
else if (x<6) y=2-0.5*(x-3.0);
else (x<10) y=x2;
printf("x=%.2f,y=%.1f\n",x,y);
}
}
第4个回答  2009-06-04
#include <stdio.h>
main()
{
float x,y;
printf("input x:");
scanf("%f",&x);
if(x>=0&&x<1)
y=2-x;
else if(x>=1&&x<3)
y=1+x/2;
else if(x>=3&&x<6)
y=2-(x-3)/2;
else if(x>=6&&x<10)
y=x*x;
printf("y=%f.\n",y);
}
//调试成功
相似回答