C語言輸出浮點數(shù)的符號以及整數(shù)部分和小數(shù)部分
更新時間:2025年12月15日 11:11:17 作者:回憶式~過去.
該C語言程序從鍵盤輸入一個不等于0的浮點數(shù),然后分別輸出這個浮點數(shù)的符號(正負號)、整數(shù)部分和小數(shù)部分,例如輸入-123.456,輸出應(yīng)為:Sign:-?Integral?part:123?Decimal?fraction?part:0.456000
C語言輸出浮點數(shù)的符號、整數(shù)部分和小數(shù)部分
編寫程序,從鍵盤輸入一個不等于0的浮點數(shù),然后分別輸出這個浮點數(shù)的符號、整數(shù)部分和小數(shù)部分。
例如輸入-123.456,輸出應(yīng)該是(按下列格式輸出):
Sign:-
Integral part:123
Decimal fraction part:0.456000
方法一:用abs求絕對值和int取整和三目運算符
#include "stdio.h"
#include "math.h"
int main()
{
double a;
int b;
double c;
scanf("%lf",&a);
printf("sign:%c\n",a <0?'-': '+');
b=abs((int)a);
printf("integral part:%d\n",b);
c=a>0? a-b:fabs((a+b));
printf("decimal fraction part:%lf\n",c);
}
方法二:用abs求絕對值和int取整和if判斷
#include "stdio.h"
#include "math.h"
int main()
{
double a;
scanf("%lf",&a);
if (a<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)));
}
}
方法三:用int取整和if判斷
#include <stdio.h>
int main()
{
double a;
scanf("%lf",&a);
if (a<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);
}
}
方法四
#include <stdio.h>
int main()
{
double a;
int b;
scanf("%lf",&a);
b = a;
if (a<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));
}
}
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C++面向?qū)ο笾惡蛯ο竽切┠悴恢赖募毠?jié)原理詳解
C++是面向?qū)ο缶幊痰?這也是C++與C語言的最大區(qū)別,下面這篇文章主要給大家介紹了關(guān)于C++面向?qū)ο笾惡蛯ο蟮募毠?jié)原理的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-05-05
用C語言實現(xiàn)從文本文件中讀取數(shù)據(jù)后進行排序的功能
這是一個十分可靠的程序,這個程序的查錯能力非常強悍。程序包含了文件操作,歸并排序和字符串輸入等多種技術(shù)。對大家學習C語言很有幫助,有需要的一起來看看。2016-08-08
解決codeblocks致命錯誤:openssl/aes.h:沒有這樣的文件或目錄問題
這篇文章主要介紹了解決codeblocks致命錯誤:openssl/aes.h:沒有這樣的文件或目錄問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
C/C++實現(xiàn)數(shù)字與字符串互相轉(zhuǎn)換的多種方法
在C/C++程序中,會需要把數(shù)字與字符串做出互相轉(zhuǎn)換的操作,用于實現(xiàn)程序想要的效果,下面將介紹多種方法實現(xiàn)數(shù)字與字符串互相轉(zhuǎn)換,文中有詳細的代碼示例供大家參考,需要的朋友可以參考下2024-08-08

