实验8-1-4 拆分实数的整数与小数部分

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

函数接口定义:

c 复制代码
void splitfloat( float x, int *intpart, float *fracpart );

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

c 复制代码
2.718

输出样例:

c 复制代码
The integer part is 2
The fractional part is 0.718

程序:

c 复制代码
#define _CRT_SECURE_NO_WARNINGS 1
#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;
}

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

效果如下:

相关推荐
LuminousCPP34 分钟前
数据结构-二叉树(五):查找、销毁与前序序列建树
c语言·数据结构·笔记·二叉树
Navigator_Z8 小时前
LeetCode //C - 1208. Get Equal Substrings Within Budget
c语言·算法·leetcode
xx~t9 小时前
嵌入式——进程与线程1
linux·c语言·学习·嵌入式·进程与线程
老当益壮梁奶奶9 小时前
Linux软件编程学习笔记(七):线程分离与线程间通信详解
linux·c语言·c++·笔记·学习
zbyyd12 小时前
Linux 多线程:互斥锁 &amp; 信号量
linux·c语言·开发语言·网络
水饺编程14 小时前
第5章,[Win32 章节] :绘图模式
c语言·c++·windows·visual studio
码行山野赴时序归途17 小时前
从暴力到最优:三道 C 语言入门题的解法思路
c语言·开发语言·数据结构·算法·leetcode·排序算法
sunoo-22917 小时前
【Linux 系统编程】学习第七天:线程属性 | 互斥锁 | 死锁 | 信号量 核心知识点 + 踩坑实战
linux·c语言·笔记·vscode·学习
小雪崩17 小时前
嵌入式学习 day33:线程进阶
linux·c语言·学习
SuperByteMaster18 小时前
ARM Architecture Procedure Call Standard(ARM架构过程调用标准)
c语言