1. 关于C语言,用if语句写数学的分段函数
#include <stdio.h>
int main()
{
int x,y;
printf("请输入一个X的值:");
scanf("%d",&x);
if(x==0)
y=x=0;
else if(x>0)
y=x=1;
else if (x<0)
y=x=-1;
printf("x=%d,y=%d",x,y);
return 0;
}
//--------------------------------以上是本人根据你的意思修改的大意,添添加加而已,呵呵。
// 在这里,我指出你的错误,可以对你有很大的帮助。
//第一、if语句连续使用,只执行成功的那一个,如果后面有,就不会再执行了。
//第二、不用每次都printf("x=%d,y=%d",x,y);,在最后就可以了。以上是我修改的。我还发现你的 (x<0)前面没有if 保留字。
//--------------------------------如果在你的程序上边,加几个范围标识符就可以{} 下面是第二个程序。
#include <stdio.h>
int main()
{
int x,y;
printf("请输入一个X的值:");
scanf("%d",&x);
if(x==0)
{
y=x=0;
printf("x=%d,y=%d",x,y);
}
else if(x>0)
{
y=x=1;
printf("x=%d,y=%d",x,y);
}
else if (x<0)
{
y=x=-1;
printf("x=%d,y=%d",x,y);
}
return 0;
}
//还有哦,=是贬值,==是判断,你看看你的判断是=,呵呵,是错误的哦。
//2个程序的意思结果是一样的,写法不是很一样,你可以和你的对比对比,充分理解这2个程序。那么就证明你掌握啦。
2. 简单if语句求分段函数
#include <stdio.h>
void main()
{
int x,y;
scanf("x=%d",&x);
if (-5<x && x<0)
y=x;
else if (x==0)
y=x-1;
else if (0<x && x <10)
y=x+1;
printf("y=%d\n",y);
}
3. 如何使用IF函数计算分段函数
从小到大进行比较就可以,比如:if a<=200 then y=aelse if a<=500 then y=200+(a-200)*0.4else if a<=1000 then y=200+(500-200)*0.4+(a-500)*0.3 else y=200+(500-200)*0.4+(1000-500)*0.3+(1000-a)*0.2补充:“不行”是什么意思?补充:我还以为你说的C\PASCAL这些,一开始为什么不说EXCEL嘛,这里的EXCEL专家许多,你要一开始说EXCEL,一分钟就会有无数的正确答案。
假如a的值在A1单元格,计算y的单元格EXCEL公式应该如下:=IF(A1<=200,A1,IF(A1<=500,200+(A1-200)*0.4,IF(A1<=1000,200+(500-200)*0.4+(A1-500)*0.3,200+(500-200)*0.4+(1000-500)*0.3+(A1-1000)*0.2)))。
4. 如何使用IF函数计算分段函数
从小到大进行比较就可以,比如:
if a<=200 then y=a
else if a<=500 then y=200+(a-200)*0.4
else if a<=1000 then y=200+(500-200)*0.4+(a-500)*0.3
else y=200+(500-200)*0.4+(1000-500)*0.3+(1000-a)*0.2
补充:
“不行”是什么意思?
补充:
我还以为你说的C\PASCAL这些,一开始为什么不说EXCEL嘛,这里的EXCEL专家许多,你要一开始说EXCEL,一分钟就会有无数的正确答案。
假如a的值在A1单元格,计算y的单元格EXCEL公式应该如下:
=IF(A1<=200,A1,IF(A1<=500,200+(A1-200)*0.4,IF(A1<=1000,200+(500-200)*0.4+(A1-500)*0.3,200+(500-200)*0.4+(1000-500)*0.3+(A1-1000)*0.2)))