程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 另c++實現四捨五入

另c++實現四捨五入

編輯:C++入門知識

下午考試遇到一道題,說編寫一個程序,輸入某地12個月的降水量,計算每個月降水量占全年降水量的比例,
並且要求輸出樣式如圖:

\

其中,比例值要四捨五入,本來很早就能考完了,但是四捨五入的方法我想了好久才弄出來,悲劇啦.
代碼如 #include<iostream>
using namespace std;
#include<iomanip>

int fun(double s);

int main()
{
     double a[12];
     double sum=0;
     double b[12];
     cout<<"please input the rainfall of the 12 months: ";
     for(int i=0;i<12;i++)
     {
         cin>>a[i];
         sum+=a[i];
     }
     for(int j=0;j<12;j++)
     {
         b[j]=(a[j]/sum);
     }
     for(int m=0;m<12;m++)
     {
         cout<<setw(2)<<m+1<<"<"<<setw(2)<<fun(b[m])<<"%) ";
         for(int k=0;k<fun(b[m]);k++)
             cout<<"#";
         cout<<endl;

     }
     system("pause");
}

int fun(double s)//四捨五入函數
{   
    if (s*100>int(s*100+0.5))
        return int(s*100);
    else
        return int(s*100)+1;

}調用了一個四捨五入的函數.
...
....
回來同學說可以更簡單得解決,恍然大悟呀..直接強制轉換了......... #include<iostream>
using namespace std;
#include<iomanip>

int main()
{
     double a[12];
     double sum=0;
     int  b[12];
     cout<<"please input the rainfall of the 12 months: ";
     for(int i=0;i<12;i++)
     {
         cin>>a[i];
         sum+=a[i];
     }
     for(int j=0;j<12;j++)
     {
         b[j]=int((a[j]/sum)*100+0.5);
     }
     for(int m=0;m<12;m++)
     {
         cout<<setw(2)<<m+1<<"<"<<setw(2)<<b[m]<<"%) ";
         for(int k=0;k<b[m];k++)
             cout<<"#";
         cout<<endl;

     }
     system("pause");
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved