C语言 分解浮点数

题目描述

给定一个双精度浮点数,输出其整数部分和小数部分。

注意:本题不允许取巧,比如按字符串读入,再确定小数点位置。必须按%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;
}
发布了47 篇原创文章 · 获赞 29 · 访问量 1480

猜你喜欢

转载自blog.csdn.net/Qianzshuo/article/details/103758917