Sign:-
Integral part:123
Decimal fraction part:0.456000
输入样例
123.456
输出样例
sign:+
integral part:123
decimal fraction part:0.456000
2.我编写的程序
#include<stdio.h>
#include<math.h>
int main()
{
double x,y;
int a,b;
scanf("%lf",&x);
a=int(x);
b=abs(a);
y=fabs(x-a);
if (x > 0)
printf("Sign:+\nIntegral part:%d\nDecimal fraction part:%.6lf\n",b,y);
if (x < 0)
printf("Sign:-\nIntegral part:%d\nDecimal fraction part:%.6lf\n",b,y);
return 0;
}
3.错误提示
执行出错:
/judger/run/547e2d74449447ea9953c3270ee39ceb/main.c: In function 'main':
/judger/run/547e2d74449447ea9953c3270ee39ceb/main.c:10:4: error: expected expression before 'int'
a=int(x);
^~~
2.
1:取整可以用floor函数,a=(int)x这样可能会丢失精度
2:
y的值计算错了,改成y=fabs(x) - b;就可以了