分段函数c语言怎么调试 分段函数如何用c语言表达

如何用C语言运行一个分段函数呀?

#include stdio.h

主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站建设、程序开发、微网站、重庆小程序开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的做网站、成都做网站、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体,具备承接不同规模与类型的建设项目的能力。

#include math.h

int main()

{

float x,y;

printf("please input x:");

scanf("%f",x);

if(x0 x!=-3)

 y = pow(x,2)+x-6;

else if(x=0 x10 x!=2 x!=3)

 y = pow(x,2)-5*x+6;

else

 y = pow(x,2)-x-1;

printf("y=%f\n",y);

return 0;

}

C语言计算分段函数的值为什么不对呢?

问题一,x和y都是双精度型(double)数变量,用格式输入和输出时,要使用格式符%lf,否则会出错,得不到正确的结果。

你用的%d是整型(int)数的输出输入格式符。

所以你必须把他们统一起来,方法一是:把scanf和printf两个语句中的%d都换成%lf;方法二是:把前面定义语句double x,y;中的double换成int,语句变成:

int x,y;

采用上面两个方法都可以让程序正常运行。

问题二,scanf语句中双引号当中有“x=”,全部是:

scanf("x=%d",x);

或scanf("x=%lf",x);

这样的写法,要求在程序运行时,输入的内容要包含双引号内除格式符以外的所有字符,即你一定要输入:

x=2[回车]

系统才能读到x的值2。值得注意的是,x的大小写都必须跟程序中的大小写相同!

所以,你在程序运行时,直接输入:

2[回车]

系统并不会取得2,更不会把2赋值给x,所以,导致程序运行到后面,也不会得出正确的y的值(11)。

有鉴于此,也有两个办法让程序正确运行:

方法一,输入时按“x=2[回车]”;

方法二,由于按“x=”非常不方便,容易出错,建议把输入语句的x=去掉,改成:

scanf("%d",x);

或scanf("%lf",x);

就能按照你图片发来的输入方法操作,得到正确的结果了。

有什么问题请留言。

怎么用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(x5)

y=-x+3.5;

else if(x=5  x10)

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;

}

运行样例:


分享名称:分段函数c语言怎么调试 分段函数如何用c语言表达
浏览地址:http://myzitong.com/article/ddeschc.html