怎么用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;
}

运行样例:

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-20
#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...
学好编程最重要的是自己要思考,要想。不然没有任何进步。本回答被网友采纳
第2个回答  2019-04-09
实验报告

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);
}
第3个回答  2018-03-31

    #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)

    #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");
    }

本回答被网友采纳
第4个回答  2018-02-18

我举个例子吧: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);
}

相似回答