网络爱好者 發表於 2025-12-15 11:11:17

C语言输出浮点数的符号以及整数部分和小数部分

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>C语言输出浮点数的符号、整数部分和小数部分</li><ul class="second_class_ul"><li>方法一:用abs求绝对值和int取整和三目运算符</li><li>方法二:用abs求绝对值和int取整和if判断</li><li>方法三:用int取整和if判断</li><li>方法四</li></ul><li>总结</li><ul class="second_class_ul"></ul></ul></div><p class="maodian"></p><h2>C语言输出浮点数的符号、整数部分和小数部分</h2>
<p>编写程序,从键盘输入一个不等于0的浮点数,然后分别输出这个浮点数的符号、整数部分和小数部分。</p>
<p>例如输入-123.456,输出应该是(按下列格式输出):</p>
<blockquote><p>Sign:-<br />Integral part:123<br />Decimal fraction part:0.456000</p></blockquote>
<p class="maodian"></p><h3>方法一:用abs求绝对值和int取整和三目运算符</h3>
<div class="jb51code"><pre class="brush:cpp;">
#include "stdio.h"
#include "math.h"
int main()
{
        double a;
        int b;
        double c;
        scanf("%lf",&amp;a);
        printf("sign:%c\n",a &lt;0?'-': '+');
        b=abs((int)a);
        printf("integral part:%d\n",b);
        c=a&gt;0? a-b:fabs((a+b));
        printf("decimal fraction part:%lf\n",c);
}
</pre></div>
<p class="maodian"></p><h3>方法二:用abs求绝对值和int取整和if判断</h3>
<div class="jb51code"><pre class="brush:cpp;">
#include "stdio.h"
#include "math.h"
int main()
{
        double a;
    scanf("%lf",&amp;a);
    if (a&lt;0)
    {
      printf("sign:-\n");
      printf("integral part:%d\n",abs(int(a)));
      printf("decimal fraction part:%f",abs(a-int(a)));
    }
    else
    {
      printf("sign:+\n");
      printf("integral part:%d\n",abs(int(a)));
      printf("decimal fraction part:%f",abs(a-int(a)));
    }
}
</pre></div>
<p class="maodian"></p><h3>方法三:用int取整和if判断</h3>
<div class="jb51code"><pre class="brush:cpp;">
#include &lt;stdio.h&gt;
int main()
{
        double a;
    scanf("%lf",&amp;a);
    if (a&lt;0)
    {
      printf("sign:-\n");
      printf("integral part:%d\n",int(a)*-1);
      printf("decimal fraction part:%f",(a-int(a))*-1);
    }
    else
    {
      printf("sign:+\n");
      printf("integral part:%d\n",int(a)*-1);
      printf("decimal fraction part:%f",(a-int(a))*-1);
    }
}
</pre></div>
<p class="maodian"></p><h3>方法四</h3>
<div class="jb51code"><pre class="brush:cpp;">
#include &lt;stdio.h&gt;
int main()
{
        double a;
    int b;
    scanf("%lf",&amp;a);
    b = a;
    if (a&lt;0)
    {
      printf("sign:-\n");
      printf("integral part:%d\n",b*-1);
      if (a-b==0)
      {
      printf("decimal fraction part:%f",(a-b));
      }
      else
      {
      printf("decimal fraction part:%f",(a-b)*-1);
      }
    }
    else
    {
      printf("sign:+\n");
      printf("integral part:%d\n",b);
      printf("decimal fraction part:%f",(a-b));
    }
}
</pre></div>
<p class="maodian"></p><h2>总结</h2>
<p>以上为个人经验,希望能给大家一个参考,也希望大家多多支持琼殿技术社区。</p>
                           
                            <div class="art_xg">
                              <b>您可能感兴趣的文章:</b><ul><li>C语言中整数与浮点数的内存存储区别解析</li><li>C语言整数和浮点数在内存中的存储方法示例</li><li>C语言之浮点数的表示与储存方式</li><li>C语言之整数与浮点数运算的类型转换规则详解</li><li>C语言中的浮点数存储详解</li><li>详解C语言整数和浮点数在内存中的存储</li><li>C语言详细分析浮点数在内存中的储存</li></ul>
                            </div>

                        </div>
                        <!--endmain-->
頁: [1]
查看完整版本: C语言输出浮点数的符号以及整数部分和小数部分