习题8-1 拆分实数的整数与小数部分 (15 分)

Posted yangbocsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了习题8-1 拆分实数的整数与小数部分 (15 分)相关的知识,希望对你有一定的参考价值。

习题8-1 拆分实数的整数与小数部分 (15 分)

本题要求实现一个拆分实数的整数与小数部分的简单函数。

函数接口定义:

void splitfloat( float x, int *intpart, float *fracpart );

其中x是被拆分的实数(0≤x<10000),*intpart*fracpart分别是将实数x拆分出来的整数部分与小数部分。

裁判测试程序样例:

#include <stdio.h>

void splitfloat( float x, int *intpart, float *fracpart );

int main()
{
    float x, fracpart;
    int intpart;

    scanf("%f", &x);
    splitfloat(x, &intpart, &fracpart);
    printf("The integer part is %d\\n", intpart);
    printf("The fractional part is %g\\n", fracpart);

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

2.718

输出样例:

The integer part is 2
The fractional part is 0.718

 【参考代码】

// yangbocsu 2021/05/04 
void splitfloat( float x, int *intpart, float *fracpart )
{
        *intpart = (int)x;//强制类型转换
        *fracpart = x - (int)x;
}


 

 

另解:

void splitfloat(float x, int *intpart, float *fracpart)
{
    *intpart = x;
    *fracpart = x - *intpart;
}

 

 

 

以上是关于习题8-1 拆分实数的整数与小数部分 (15 分)的主要内容,如果未能解决你的问题,请参考以下文章

[PTA]实验8-1-3 拆分实数的整数与小数部分

数据结构与算法分析(C语言描述)习题1.3

c语言如何取整数和小数

蓝桥杯习题之第2题

习题4-3 求分数序列前N项和 (15分)

习题4-3 求分数序列前N项和 (15分)