题目描述
给定一个双精度浮点数,输出其整数部分和小数部分。
注意:本题不允许取巧,比如按字符串读入,再确定小数点位置。必须按%lf读入double再分解。
输入
输入由多行组成,每行一个双精度浮点数。
小数部分不超过6位。数可能很大,但保证是double类型的正常值。
输出
针对每组输入数据,产生一行输出,即双精度浮点数的整数部分和小数部分,用空格分开,小数点后保留6位小数。
样例输入 Copy
3.5
样例输出 Copy
3 0.500000
提示
学习一下modf函数,本题练习使用指针。
代码
#include <stdio.h>
#include <math.h>
int main(){
double n=0.0,precious=0.0,inter=0;
while(scanf("%lf",&n)!=EOF)
{
precious=modf(n,&inter);
printf("%.f %lf\n",inter,precious);
}
return 0;
}