我的程式碼:::::
如果有更簡單的方法麻煩告訴我
銘感五內:)
#include <bits/stdc++.h>
using namespace std;
int main()
{
string s;
while(cin>>s)
{
int flag,k=0;
for(int i=0;;i++)if(s[i]=='.'){flag=i;break;}//找到.位置
if(s[flag+3]>=53 and s[flag+3]<=57)s[flag+2]++;//進位
for(int i=flag+2;i>0;i--)if(s[i]>57 or s[i]==47)//如果9進位
{if(i==flag){s[i]--;s[i-1]++;continue;}//要進到個位時
else s[i-1]+=1;s[i]='0';
}
if(s[0]>57){cout<<1;s[0]='0';} //多一個位數時的處理
if(s[0]=='.'){s[0]='-'; //為負數多一個位數時,待下面要輸出時再補輸出
k=1;
}
for(int i=0;i<=flag+2;i++) //輸出答案
{
if(i==1 and k==1)cout<<1; //負數補輸出
cout<<char(s[i]);
}
cout<<endl;
}
}