任务和代码
/*
*Copyright (c)2017,CSDN学院
*All rights reserved.
*文件名称: main.c
*作 者: 伍志鹏
*完成日期: 2017年8月30日
*版本号: v1.0
*
*问题描述: 从键盘上输入一个浮点数(小数点后有三位数),然后分别输出该数的整数部分和小数部分
*程序输出: 该数的整数部分和小数部分
*样例输入: 123.456
*样例输出: 123 456
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
float fNum;
//iIntegers:整数部分的数字;iDecimal:小数部分的数字
int iIntegers,iDecimal;
printf("请输出一个浮点数,小数点后有三位数:");
scanf("%f",&fNum);
iIntegers=(int)fNum;
iDecimal=(fNum-iIntegers)*1000; //或者:iDecimal=(int)(fNum*1000)%1000 ,乘1000后对1000取余,得到3位小数点后的数字
printf("该数的整数部分和小数部分为:%d %d",iIntegers,iDecimal);
return 0;
}
运行结果
知识点总结
该程序主要也使用了算术运算符,但是还有加上了强制转换类型,使得浮点数转换成了整形数。
心得
知道了如何使用强制转换类型的格式,还有一些需要强制转换类型的场景。