项目11.2分离整数和小数部分
2015-09-10 19:03
411 查看
任务和代码:编写一个程序,从键盘上输入一个带有三位小数的浮点数,分别输出其整数部分和小数部分。
/*
文件名:main.c
作者:小风景
完成日期:2015.9.10
问题描述:从键盘上输入一个带有三位小数的浮点数,分别输出小数部分和整数部分。
程序输出:浮点数的小数哥整数部分。
*/
#include <stdio.h>
#define MUL 1000
int main()
{
float finput; //输入一个浮点数,小数点后有三位
int iinteger,idecimal;
printf("请输入一个小数部分有三位的浮点数:");
scanf("%f",&finput);
iinteger=(int)finput;
idecimal=(finput-iinteger)*MUL; //()内的式子计算得到一个带有小数部分的浮点数,将三位小数部分变为整数,然后转换为整形
printf("整数部分:%d\n小数部分:%d",iinteger,idecimal);
return 0;
}
运行结果:
总结:该程序还存在一定的缺陷,只能计算正数,如果输入负数,只能准确输出整数部分,如果要求能够输出负数,可以将小数部分的运算式改为
(int)(MUL*finput)%MUL
--------------------------------------------------------------------------------------------------------------------------------
让时间说真话,虽然我也害怕。
/*
文件名:main.c
作者:小风景
完成日期:2015.9.10
问题描述:从键盘上输入一个带有三位小数的浮点数,分别输出小数部分和整数部分。
程序输出:浮点数的小数哥整数部分。
*/
#include <stdio.h>
#define MUL 1000
int main()
{
float finput; //输入一个浮点数,小数点后有三位
int iinteger,idecimal;
printf("请输入一个小数部分有三位的浮点数:");
scanf("%f",&finput);
iinteger=(int)finput;
idecimal=(finput-iinteger)*MUL; //()内的式子计算得到一个带有小数部分的浮点数,将三位小数部分变为整数,然后转换为整形
printf("整数部分:%d\n小数部分:%d",iinteger,idecimal);
return 0;
}
运行结果:
总结:该程序还存在一定的缺陷,只能计算正数,如果输入负数,只能准确输出整数部分,如果要求能够输出负数,可以将小数部分的运算式改为
(int)(MUL*finput)%MUL
--------------------------------------------------------------------------------------------------------------------------------
让时间说真话,虽然我也害怕。
相关文章推荐
- android 代码实现控件之间的间距
- [Android]在代码里运行另一个程序的方法
- 肯特·贝克:改变人生的代码整理魔法
- 网页恶意代码的预防
- 高手写的Tracer-Flash代码调试类代码下载
- CSS代码缩写技巧
- 非主流Q-zOne代码代码搜集第1/2页
- CreateWeb.vbs 代码
- Lua和C语言的交互详解
- Lua中编译执行代码相关的函数详解
- 更有效率的css代码编写第1/3页
- 代码中到底应不应当写注释?
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法