C++语言——求圆柱表面积
生活随笔
收集整理的這篇文章主要介紹了
C++语言——求圆柱表面积
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
時間限制:?1 Sec??內存限制:?128 MB
題目描述
已知圖圓柱體的高為h,底面圓的半徑為r,求圓柱體表面積。(h,r都為正整數,表面積保留兩位小數)
輸入
一行,兩個正整數用空格隔開,分別表示圓柱體的高h和底面圓的半徑r。?????
輸出
一行,表示圓柱的表面積保留兩位小數。
樣例輸入
2 2樣例輸出
50.27提示
保留兩位小數可以使用
printf("%.2f",?sample);?
在C++中,是沒有格式符的,我們可以通過使用setprecision()函數來實現這個需求。
想要使用setprecision()函數,必須包含頭文件#include <iomanip>。
使用方式如下:
cout << "a=" << setprecision(2) << a <<endl;
這時候,我們會發現,如果a的值為0.20001,輸出的結果為a=0.2,后面第二位的0被省略了。
如果我們想要讓它自動補0,需要在cout之前進行補0的定義。
代碼如下:
?
這樣,我們就可以得到0.20了。
cout.unsetf(ios::fixed); ?cout << "a=" <<?setprecision(2)?<< a <<endl; //輸出a=0.2 ?
我們的輸出結果就又變回a=0.2了。
當然,如果想要關閉掉補0,只需要對fixed進行取消設置操作。
#include?<iostream>?? #include?<iomanip>?? using?namespace?std;?? int?main()?? {??float?a?=?0.20001;??cout.setf(ios::fixed);??cout?<<?"a="?<<fixed<<?setprecision(2)?<<?a?<<endl;?//輸出結果為a=0.20??cout.unsetf(ios::fixed);??cout?<<?"a="?<<?setprecision(2)?<<?a?<<endl;?//輸出結果為a=0.2??return?0;?? } ?當然,很我時候我們可以這樣寫
cout<<setiosflags(ios::fixed)<<setprecision(2)<<a<<endl;
setiosflags(ios::fixed)表示設置固定小數位數。
參考代碼
#include <iostream> #include <iomanip> #include<cmath> using namespace std; int main() { double pi=3.1415926,h,r,s1,s2,S; cin>>h>>r; s1=pi*r*2*h; s2=pi*pow(r,2); S=2*s2+s1; cout<<fixed<<setprecision(2)<<S<<endl; return 0; }總結
以上是生活随笔為你收集整理的C++语言——求圆柱表面积的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mvc中简单从controll传递数据到
- 下一篇: Windows下安全权限设置详解