C语言及程序设计初级—分离整数与小数部分

标签: C语言  C语言及程序设计初级  分离整数与小数部分  算数运算符及表达式

  • 任务与代码
/*
 *文件名称:arithmetic2.c
 *作者:陈happy
 *完成日期:2018.08.24
 *
 *问题描述:输入有三位小数的浮点数
 *程序输出:该数的整数部分与小数部分
 */
#include<stdio.h>
int main()
{
    float x;
    int Z,a,b,c;
    printf("请输入有三位小数的数:");
    scanf("%f",&x);
    Z=(int)x;
    a=(int)((x-Z)*10);
    b=(int)((x-Z)*100)%10;  
    c=(int)((x-Z)*1000)%10;
    printf("分离后:整数部分为%d 小数部分为%d%d%d\n",Z,a,b,c);
    return 0;
}
  • 运行结果
    这里写图片描述

  • 知识点总结:运用算术运算符及表达式的知识,解决了将小数的整数部分与小数部分分离的问题

  • 心得与反思:
    1、应熟记各算术运算符的优先级关系
    2、虽然问题得到了解决,但该解答过于繁杂冗长,其实除键盘输入的x外,只需要再定义两个变量即可(整数部分Z,小数部分a)

 Z=x; //自动类型转换,取整数部分
 a=(int)(x*1000)%1000; //1000后对1000取余,得到3位小数点后的小数部分
 printf("%d %d\n", Z, a);

3、多学习别人简洁的方法,取长补短,编程之路道阻且长,fighting!