输入double型变量时要写:scanf("%lf",&x);
输出double型数据时要写:printf("%lf\n",y); //注意加上末尾的分号
else (y=x-1);是错误的语法,应当写成:else { y=x-1; }或else y=x-1;
if (x<=3);应当写成if(x<=3) //去掉末尾的分号表示if语句还没写完
else (y=log10(x);应当写成:else y=log10(x);
#include
#include
int main()
{
int x;
double y;
scanf("%d",&x);
if(x<=3)
{
if(x>=-3)
y=sqrt(9-x*x);
else
y=x-1;
}
else
y=log10(x);
printf("%f\n",y);
return 0;
}
你的x不应该是double,这里出错了,用float或者是int都可以。
求赞
括号,分号,log
if(x<=3)后面多了个分号