信息学奥赛一本通 1019:浮点数向零舍入 | OpenJudge NOI 1.2 06
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1019:浮点数向零舍入 | OpenJudge NOI 1.2 06
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目鏈接】
ybt 1019:浮點數向零舍入
OpenJudge NOI 1.2 06:浮點數向零舍入
【題目考點】
1. 強制類型轉換
C語言寫法:(類型)量
C++寫法: 類型(量)
強制類型轉換可以使整個表達式的值變?yōu)橐D換的類型,但原變量的類型和值都沒有變化。
例:
2. 賦值或強制類型轉換過程中的精度丟失
將浮點型量賦值給整型變量,如int a = 3.14
或將浮點型量強制轉換為整型量,如int(3.14)
結果都會出現精度丟失。實際效果為:無論該浮點型量的值是正數還是負數,都會舍去小數點后的數字,只保留整數部分的數字。
例:
3. (擴展)< cmath >中的取整函數
- 向上取整函數double ceil(double x),返回大于等于x的最小整數。
- 向下取整函數double floor(double x),返回小于等于x的最大整數。
- 注意:兩函數返回的返回值都是double類型的
【題解代碼】
解法1:強制類型轉換
#include <bits/stdc++.h> using namespace std; int main() {float a;cin>>a;cout<<(int)a<<endl;return 0; }解法2:將浮點型量賦值給整型變量
#include <bits/stdc++.h> using namespace std; int main() {float a;cin>>a;int b = a;cout<<b<<endl;return 0; }解法3:使用floor()和ceil()函數
#include <bits/stdc++.h> using namespace std; int main() {float a;cin>>a;cout<<(int)(a >= 0 ? floor(a) : ceil(a));//floor和ceil的返回值是double類型,要轉換為int輸出 }總結
以上是生活随笔為你收集整理的信息学奥赛一本通 1019:浮点数向零舍入 | OpenJudge NOI 1.2 06的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通 1079:计算分数加减
- 下一篇: 信息学奥赛一本通(1139:整理药名)