C語(yǔ)言輸出浮點(diǎn)數(shù)的符號(hào)以及整數(shù)部分和小數(shù)部分
C語(yǔ)言輸出浮點(diǎn)數(shù)的符號(hào)、整數(shù)部分和小數(shù)部分
編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)不等于0的浮點(diǎn)數(shù),然后分別輸出這個(gè)浮點(diǎn)數(shù)的符號(hào)、整數(shù)部分和小數(shù)部分。
例如輸入-123.456,輸出應(yīng)該是(按下列格式輸出):
Sign:-
Integral part:123
Decimal fraction part:0.456000
方法一:用abs求絕對(duì)值和int取整和三目運(yùn)算符
#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求絕對(duì)值和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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- C語(yǔ)言中整數(shù)與浮點(diǎn)數(shù)的內(nèi)存存儲(chǔ)區(qū)別解析
- C語(yǔ)言整數(shù)和浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)方法示例
- C語(yǔ)言之浮點(diǎn)數(shù)的表示與儲(chǔ)存方式
- C語(yǔ)言之整數(shù)與浮點(diǎn)數(shù)運(yùn)算的類(lèi)型轉(zhuǎn)換規(guī)則詳解
- C語(yǔ)言中的浮點(diǎn)數(shù)存儲(chǔ)詳解
- 詳解C語(yǔ)言整數(shù)和浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)
- C語(yǔ)言詳細(xì)分析浮點(diǎn)數(shù)在內(nèi)存中的儲(chǔ)存
相關(guān)文章
C語(yǔ)言實(shí)現(xiàn)點(diǎn)菜系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)點(diǎn)菜系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
C語(yǔ)言編程中生成隨機(jī)數(shù)的入門(mén)教程
這篇文章主要介紹了C語(yǔ)言編程中生成隨機(jī)數(shù)的入門(mén)教程,包括利用rand()函數(shù)來(lái)編寫(xiě)隨機(jī)數(shù)生成器的示例,要的朋友可以參考下2015-12-12
C++面向?qū)ο笾?lèi)和對(duì)象那些你不知道的細(xì)節(jié)原理詳解
C++是面向?qū)ο缶幊痰?這也是C++與C語(yǔ)言的最大區(qū)別,下面這篇文章主要給大家介紹了關(guān)于C++面向?qū)ο笾?lèi)和對(duì)象的細(xì)節(jié)原理的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05
用C語(yǔ)言實(shí)現(xiàn)從文本文件中讀取數(shù)據(jù)后進(jìn)行排序的功能
這是一個(gè)十分可靠的程序,這個(gè)程序的查錯(cuò)能力非常強(qiáng)悍。程序包含了文件操作,歸并排序和字符串輸入等多種技術(shù)。對(duì)大家學(xué)習(xí)C語(yǔ)言很有幫助,有需要的一起來(lái)看看。2016-08-08
解決codeblocks致命錯(cuò)誤:openssl/aes.h:沒(méi)有這樣的文件或目錄問(wèn)題
這篇文章主要介紹了解決codeblocks致命錯(cuò)誤:openssl/aes.h:沒(méi)有這樣的文件或目錄問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06
C/C++實(shí)現(xiàn)數(shù)字與字符串互相轉(zhuǎn)換的多種方法
在C/C++程序中,會(huì)需要把數(shù)字與字符串做出互相轉(zhuǎn)換的操作,用于實(shí)現(xiàn)程序想要的效果,下面將介紹多種方法實(shí)現(xiàn)數(shù)字與字符串互相轉(zhuǎn)換,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-08-08

