第11讲 项目1----分离整数小数部分
2015-10-19 18:23
253 查看
任务和代码:
运行结果:
![](https://img-blog.csdn.net/20151019181929261)
知识点总结:
本项目考察的知识为强制数据类型转换,以及运算符号在取数字各个位数数字的常用方法
心得:
如果把 b =(int) (num * 1000) % 1000改为b =(int) num * 1000 % 1000,所得结果与想象中
不一样,问题在于浮点数强制转换为整型时,增加后面的精度,导致结果不准;
/* *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,所得结果与想象中
不一样,问题在于浮点数强制转换为整型时,增加后面的精度,导致结果不准;
相关文章推荐
- Error:could not open jvm.cfg 问题解决方案
- URLEncoder原码
- java 线程详解
- 内存管理器(五)Glibc malloc实现(一)(概论)
- Ubuntu14.04构建内核源码树的初级实践
- 内存管理器(五)Glibc malloc实现(一)(概论)
- 除法(division,UVa 725)
- iTween
- GPIO实验 位操作
- Android Volley获取json格式的数据
- 实习第一天原来是配置环境
- linux下C编程(五)之unsigned 的大坑货和 char 和浮点数
- 关于ArrayList的5道面试题
- TabHost简单使用示例
- openstack install
- HDU 5505——GT and numbers——————【素数】
- UILabel顶端对齐
- exit()与_exit()函数的区别(Linux系统中)
- UNIX命令学习--(解压和压缩命令)
- 插入排序 - InsertionSort