问题及代码:
/*
* Copyright (c) 2018, dongsheng.
* All rights reserved.
* 文件名称: 20180905.c
* 作 者: zhadongsheng
* 完成日期: 2018年9月5日
* 版 本 号: v1.0
* 问题描述: 输入一个浮点数(小数点后有三位数),分别输出该数的整数部分和小数部分;
* 输入描述: 输入一个浮点数(小数点后有三位数);
* 程序输出: 输出该数的整数部分和小数部分.
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
float x;
int a,b;
printf("输入一个三位浮点型数:");
scanf("%f",&x);
a=x;//自动类型转换,取整数部分或者强制类型转换(int)x;
b=(int)(x*1000)%1000;//乘1000后对1000取余,得到3位小数点后数字
printf("整数部分为%d 小数部分为%d\n",a,b);
return 0;
}
运行结果:
知识点总结:
%取余两边只能为整型,强制类型转换与自动类型转换。
学习心得:
更了解了运算规则。