怎么用c语言编程一个分段函数

 我来答
White_MouseYBZ
2018-03-29 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6589万
展开全部
#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;
}

运行样例:

gcmh大本营
推荐于2018-02-20 · TA获得超过115个赞
知道答主
回答量:26
采纳率:40%
帮助的人:7.7万
展开全部
#include<stdio.h>
int main(){
int x,y;
scanf("%d",&x);
if(0<x&&x<10){
y=3*x+2;
}else {
if(x==0)
y=0;
else
{if(x<0)
y=x*x;
else
printf("godie\n");
}
}
printf("%d",y);
return 0;
}
该程序的分段函数如下:
f(x)=3x+2 (0<x<10)
f(x)=1 (x=0)
f(x) = x*x (x<0)
如果输入x值不再取值范围内,打印godie...
学好编程最重要的是自己要思考,要想。不然没有任何进步。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9c263c5
2019-04-09 · 超过15用户采纳过TA的回答
知道答主
回答量:233
采纳率:33%
帮助的人:7万
展开全部
实验报告

1、有一分段函数:
设计一程序完成, 主控函数main()输入X的值并输出Y值.函数VAL计算Y的值。
1.需求规格说明
本题要求掌握C语言的数据类型,程序结构,基本输出输入,函数应用知识,问题的要求用到两个函数,要求利用主控函数main()输入X的值并输出Y值.并用函数VAL计算Y的值。
2.设计
2.1 设计思想
用两个储存空间分别存放主函数和被调用函数,在主函数中控制输入输出,在调用函数中对数据进行处理. 本程序需要用到实型变量作为数据主要数据类型.
2.2 设计表示
本程序有两大模块,主函数MAIN()和被调用函数VAL()

2.3实现注释
程序开发环境为“Windows XP sp2中文版“为操作系统,运行环境turbo c/vc 6.0等等可以运行C语言程
2.4详细设计

3.用户手册
用户打开turbo c/vc 6.0的界面,启动本程序,然后按ALT+R运行程序,用户根据提示输入x值, 然后按回车键,最后用ALT+F5看运行结果。
4.调试报告
在调试过程中,如果在主函数中没有调用函数y=VAL(x),结果可以运行,但不能得到正确的结果.由此可知,我们在做主控函数时,一定要注意调用函数的重要性.
5.源程序清单
#include<stdio.h>
void main()
{float VAL(float x);
float x,y;clrscr();
printf("input x=");
scanf("%f",&x);
y=VAL(x);
printf("y= %f",y);
}
float VAL(float x)
{float y;
if(x<1)
y=x;
else if(x>=1&&x<10)
y=2*x-1;
else
y=3*x-11;
return(y);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喜帖街_houma
2018-03-31 · TA获得超过5929个赞
知道小有建树答主
回答量:79
采纳率:83%
帮助的人:1.1万
展开全部
  1. #include
    int main()
    {
    int x,y;
    scanf("%d",&x);
    if(0<x&&x<10) y=3*x+2;
    else
    {if(x=0) y=0;
    else
    {if (x<0) y=x*x;
    else printf("go die\n");
    }
    }
    printf("%d",y);
    return 0;
    }该程序的分段函数如下:
    f(x)=3x+2  (0<x<10)
    f(x)=1         (x=0)
    f(x) = x*x    (x<0)

  2. #include <stdio.h>
    #include <math.h>
    void main()
    {
    float x;
    double y;
    printf("Please input the value of x:");
    scanf("%f",&x);
    if(x>=-10&&x<=4)
    {
    y=fabs(x-2);
    printf("y=%.2f\n",y);
    }
    else if(x>=5&&x<=7)
    {
    y=x+10;
    printf("y=%.2f\n",y);
    }
    else if(x>=8&&x<=12)
    {
    y=pow(x,4);
    printf("y=%.2f\n",y);
    }

    else
    printf("No answer\n");
    }

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1135334854_qwe
2018-02-18 · TA获得超过937个赞
知道小有建树答主
回答量:307
采纳率:97%
帮助的人:67.9万
展开全部

我举个例子吧:x<0时,y=-x;x=0时,y=2;x>0时,y=3x。主要用if函数分割开就行了。

main()
{
double x,y;
printf("输入x:");
scanf("%lf",&x);
if(x<0)
y=-x;
elseif(x=0)
y=2;
else
y=3*x;
printf("y=%ld",y);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式