关于C语言,用if语句写数学的分段函数

2024-11-24 05:01:22
推荐回答(5个)
回答1:

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

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:

最明显的错误是当你想要表达x=0时要写x==0.
c语言中的相等关系是==不是=。
还有你那个if右面的大括号都没写。if后面的是两个语句,要写括号啊亲。。。

回答3:

#include
int main()
{
int x,y;
printf("请输入一个X的值:");
scanf("%d",&x);
if(x==0)
y=0;
else if(x>0)
y=1;
else
y=-1;
printf("x=%d,y=%d",x,y);
return 0;
}

回答4:

if 和else是成对出现的,他是说你用了else却没用if于他相匹配
你在最后一个else 后面加上if就好了

回答5:

第一个if改为if(x==0)