一个C程问题。编写程序,输入x,计算并输出下列分段函数的值(保留三围小数)

y=f(x)=1/x(x≠0) ,=0(x=0)
下面是我写的,请问哪里有错误。
#include<stdio.h>int main(void)
{
double x,y;(定义这边我不知道该怎么定义,没说数的类型,应该这么做?)

printf("Enter x:");
scanf("%lf",&x);

if (x!=0){ y=1/x;
}
else{
y=0;
}
printf("y=%.3f\n",x,y);

return 0;
}

首先C我长时间没碰了,但你的程序的问题还是能看出来的,还是看看书吧。
main函数就不对,应是main(){程序主体}。
if函数没有返回值,你的程序中没必要用这么多花括号,当if或else后只有一句条件执行语句时,不位数用加括号。第2个printf中的%.3f跟小数点有关系吗?
类型用浮点型足够。追问

前面定义X,Y 应该怎么定义? 题目中没有提示是整形、单精度或者双精度。

追答

在普通编程中,精度要求都不高,单精度足够

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-12
printf("y=%.3f\n",x,y);
把x,去掉追问

前面定义X,Y 应该怎么定义? 题目中没有提示是整形、单精度或者双精度。

第2个回答  2013-04-09
问题不大,最后printf里多个x参数。追问

前面定义X,Y 应该怎么定义? 题目中没有提示是整形、单精度或者双精度。

相似回答