c语言编程错误,题目是:从键盘输入x的值,求y的值并输出 {x的平方x<=0 Y= {x-5 0<x<3 {3x+1, x>=3

#include<stdio.h>
main()
{
float x,y;
printf("请输入x的值");
scanf("%d\n",&x,&y);
if (x<=0)
y=x*x;
printf("%d\n",y);
else if (x>0&&x<3)
y=x-5;
printf("%d\n",y);
else
y=3*x+1;
printf("%d\n",y);
}
说我else前后语法错误,求指出并改正!

第1个回答  2018-04-14
#include<stdio.h>
void main() { float x,y;
  printf("请输入x的值"); scanf("%f",&x);
  if ( x<=0 ) y=x*x;
  else if ( x<3 ) y=x-5; //执行到这里x肯定不是小于等于0的,因为这是x<0判断的else
  else y=3*x+1; //不用说肯定x大于等于3
  printf("%d\n",y); //前面分情况计算y,这里输出一次即可
}

第2个回答  2018-04-14
#include<stdio.h>
main()
{
float x,y;
printf("请输入x的值"); 
scanf("%lf",&x);//去掉&y ,%d换成%lf ,去掉换行符 
if (x<=0){ 
y=x*x;
printf("%d\n",y);}//if下的函数加花括号 
else if (x>0&&x<3){ 
y=x-5;
printf("%d\n",y);} //else if下的函数加花括号 
else { 
y=3*x+1;
printf("%d\n",y);} //else下得函数加花括号 
}

本回答被提问者采纳
相似回答