#include <stdio.h> int main(void) { float x, printf("输入x:\n"); scanf("=%f",&x); if(x=10) y=1/x*x

这个哪里错了。。求大神
#include <stdio.h>
int main(void)
{
float x,
printf("输入x:\n");
scanf("=%f",&x);
if(x=10)
y=1/x*x;
else
y=2x;

printf("f(%.2f)=%.lf\n", x,y);
return 0;
}

scanf("=%f",&x);

这样写,你就要输入=1.5
1.5是你要输入的数值
可改为
printf("=“);
scanf("%f",&x);追问

#include
int main(void)
{
double x,y;
printf("Enterx:\n");
scanf("%f",&x);
if(x==10){
y=1/x*x;}
else if(x!=10){
y=2*x;}

printf("f(%.2f)=%.f\n",y);
return 0;
}

我改成这样,可是输入10以后没有得到正确答案:f(10.0)=0.01
可是程序已经对了。。没错误了。

追答

#include
int main(void)
{
double x,y;
printf("Enterx:\n");
scanf("%lf",&x); //double要用lf
if(x==10)
{
y=1/(x*x);//加个括号,不然变成1/x然后再乘以x,都等于1了
}
else if(x!=10)
{
y=2*x;
}
printf("f(%.2lf)=%.lf\n",x,y); //少了个x
return 0;
}

追问

这样答案还是错的。。正确答案是f(10.0)=0.01

追答

printf("f(%.2lf)=%.lf\n",x,y); //少了个x
这句改为

printf("f(%.1lf)=%.2f\n",x,y);

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-17
scanf("=%f",&x);应该没有等号吧scanf("%f",&x);
if(x=10)应该是if(x==10)吧
y=2x;应该是y=2*x;吧追问

#include
int main(void)
{
double x,y;
printf("Enterx:\n");
scanf("%f",&x);
if(x==10){
y=1/x*x;}
else if(x!=10){
y=2*x;}

printf("f(%.2f)=%.f\n",y);
return 0;
}

我改成这样,可是输入10以后没有得到正确答案:f(10.0)=0.01
可是程序已经对了。。没错误了。

追答

得到的答案是什么

追问

f(10.0)=0 正确答案应该是0.01

追答

y=1/x*x换成 y=1.0/x*x;试试

追问

依然是错的。。

追答

printf("f(%.2lf)=%lf\n",x,y); //少了个x

相似回答