PAT --实验8-1-3 拆分实数的整数与小数部分 (15分)

本题要求实现一个拆分实数的整数与小数部分的简单函数。

函数接口定义:

void splitfloat( float x, int *intpart, float *fracpart );

其中x是被拆分的实数(0≤x<10000),*intpart*fracpart分别是将实数x拆分出来的整数部分与小数部分。

#include <stdio.h>

void splitfloat( float x, int *intpart, float *fracpart );

int main()
{
    float x, fracpart;
    int intpart;

    scanf("%f", &x);
    splitfloat(x, &intpart, &fracpart);
    printf("The integer part is %d\n", intpart);
    printf("The fractional part is %g\n", fracpart);

    return 0;
}
void splitfloat( float x, int *intpart, float *fracpart )
{

    if ( x <= 10000 && x >=0)
    {
          if ( x == 0)
     {
           *intpart = 0 ;
           *fracpart = 0.0;

     }
      else if ( x == 10)
     {
           *intpart = 10 ;
           *fracpart = 0.0;

     }
    else  if ( x == 100)
     {
           *intpart = 100 ;
           *fracpart = 0.0;

     }
     else if ( x ==1000)
     {
           *intpart = 1000 ;
           *fracpart = 0.0;

     }
    else  if ( x ==10000)
     {
           *intpart = 10000 ;
           *fracpart = 0.0;

     }
       else
       {

        *intpart = (int)x / 1 ;
        *fracpart = x - *intpart ;
       }
    }

}

发布了67 篇原创文章 · 获赞 54 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/naturly/article/details/104103032