ural 1864. Get-Together at Den's (坑爹浮點數)

水題一道,要注意兩點:

1、題目中分配方式沒有說明清楚

2、浮點數下取整的時候要注意,比如4.9999999其實應該是5


#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    long double n,arr[107],sum=0,cnt=0,mark[107]={0},sum2=0;
    cin>>n;
    for(int i=0;i<n;i++)
    {
       cin>>arr[i];
       sum+=arr[i];
    }
    long double self=sum/(n+1);
    for(int i=0;i<n;i++)
    {
       if(arr[i]-self>0)
       {
          mark[i]=arr[i]-self;
       }
    }
    for(int i=0;i<n;i++)
    {
          sum2+=mark[i];
    }
    for(int i=0;i<n;i++)
    {
        cout<<floor(100*mark[i]/sum2+0.0001)<<endl;      
    }
    cin>>n;
}
    
    


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章