哪个高手帮我搞定哈这个C语言编程?

来源:百度知道 编辑:UC知道 时间:2024/06/01 08:33:53
分段函数 y=x(-5<x<o),y=x-1(x=0),y=x+1(0<x<10),y=100(其他)
加注释哦!!帮帮忙啦!!
具体要求如下:
。 用if语句实现分支。自变量x与函数值均采用单精度类型。
。 自变量x值从键盘输入,且输入前要有提示信息。
。 数据的输出格式采用以下形式:
x=输入值,f(x)=计算值

#include <stdio.h>
float fun(); //定义函数;
float x,y; //定义全局变量;
float main() //主函数;
{

printf("请输入x的值:");
scanf("%f",&x);
y=fun();
printf("x=%f,f(x)=%f\n",x,y);
return 0;
}

float fun()
{
if(x) //if循环
{
if(x>-5&&x<0) return x;
else if(x>0&&x<10) return x+1;
else return 100;
}
else return x-1;
}

编译通过..

#include<stdio.h>
int main()
{
float x,y;
printf("enter x value:");
scanf("%f",&x);
if(x>-5&&x<0)
y=x;
else if(x=0)
y=x-1;
else if(x>0&&x<10)
y=x+1;
else
y=100;
printf("x=%f,f(x)=%f\n",x,y);
return 0;
}

用宏可以搞定,够简洁吧.
#define GETY(x) (x>0)?((x>=10)?(100):(x+1)):((x==0)?(x-1):((x>-5)?(x):(100)))

void mai