请问我的代码有什么问题为什么结果是部分正确,是哪一小点错了吗

本题目要求计算下列分段函数f(x)的值:

公式

输入格式:
输入在一行中给出实数x。

输出格式:
在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。

输入样例1:
10
输出样例1:
f(10.0) = 0.1
输入样例2:
0
输出样例2:
f(0.0) = 0.0
我的代码
#include
int main(){
int x;
scanf("%d",&x);
if(x!=0){
printf("f(%.1f) = %.1f",1.0x,1.0/x);}
else if(x == 0){
printf("f(%.1f) = %.1f",x
1.0,x*1.0);}
return 0;
}

输入格式:
输入在一行中给出实数x。
都说了是实数,可你却定义了int x,能一致么?
改成double x;
scanf("%lf",&x);
if(x!=0)
printf("f(%.1f) = %.1f",x,1/x);
else
printf("f(%.1f) = %.1f",0,0);