c语言分段函数怎么写

如题所述

#include "stdio.h"
#include "math.h"
int main(int argc,char *argv[]){
double x,y;
printf("Input x(R:)...\nx=");
scanf("%lf",&x);
if(x<5)
y=-x+3.5;
else if(x>=5 && x<10)
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;
}

运行样例:

追问

为什么结尾要加raturn0

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-07
代码如下所示,
#include

#include

#include

int main()
{
double x, y; // 定义函数的自变量、因变量,考虑到可能有小数的情况,设置数值类型为double型
int getBuff; // 用于最后清空输入缓冲区残留,了解即可
printf("请输入自变量x的值(一个数字):\n");
scanf("%lf",&x); // 输入自变量的一个值
if(x<-2)
y = 7-2*x;
else if(x>=-2 && x<3)
y = 5 - fabs(3*x+2); // 注意,对浮点型数值取绝对值,要用fabs()函数
else
y = 3*x+4;
printf("自变量x为%lf时,对应的函数值y是:%lf\n",x,y);
while(getBuff=getchar()!='\n' && getBuff!=EOF); // 清空输入缓冲区残留,了解即可
printf("按回车键结束...");
getchar();
return 0;
}为了避免手机上查看时,代码版式错乱,代码的截图如下,

如有帮助,烦请采纳,谢谢!
第2个回答  2018-03-29
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double x,y;
cin>>x;
if(x<5)
y=-x+3.5;
else if(x>=5 && x<10)
y=20-3.5*(x+3)*(x+3);
else
y=-3.5+sin(x);
cout<<"y = "<<y<<endl;
return 0;
}

//示例运行结果
F:\c++_work>a.exe
-5
y = 8.5

F:\c++_work>a.exe
8
y = -403.5

F:\c++_work>a.exe
100
y = -4.00637

追问

我能不能问下最后结尾为什么要写return 0

本回答被提问者采纳
第3个回答  2018-03-29
#include<stdio.h>
#include<math.h>
void main() { double x,y;
  scanf("%lf",&x);
  if ( x<5 ) y=3.5-x;
  else if ( x<10 ) y=20-3.5*(x+3)*(x+3);
  else y=sin(x)-3.5;
  printf("%lf\n",y);
}

第4个回答  2018-03-29
这个题目用if呀,认真学呢。追问

我知道啊 因为是初学者 没有例子 不太会