第11讲 项目1----分离整数小数部分

任务和代码:

/*
*Copyright (c)2015 CSDN学院
*All rights reserved
*文件名字:main.c
*作者:zzhou
*完成日期:2015年10月19日
*版本号:V1.0
*
*问题描述:从键盘上输入一个浮点数(小数点后有三位数),然后分别输出该数的整数部分和小数部分
*程序分析:1、输入一个浮点数   2、使用强制类型转换 3、把这个三位数乘以1000,再强制转换成整数,最后对1000取余数
*/

#include <stdio.h>
#include <stdlib.h>

int main()
{
    float num ;
    int a , b ;
    printf("请输入一个三位小数\n");
    scanf("%f",&num);//输入一个浮点数
    a = (int)num;//强制转换为整型数字
    b =(int) (num * 1000) % 1000;//取余运算的两侧必须为整型,所以左边需要做强制类型转换
    printf("%d %d\n",a,b);
    return 0;
}



运行结果:

知识点总结:

本项目考察的知识为强制数据类型转换,以及运算符号在取数字各个位数数字的常用方法

心得:

如果把 b =(int) (num * 1000) % 1000改为b =(int) num * 1000 % 1000,所得结果与想象中

不一样,问题在于浮点数强制转换为整型时,增加后面的精度,导致结果不准;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值