codevs 3054 高精度练习-文件操作
生活随笔
收集整理的這篇文章主要介紹了
codevs 3054 高精度练习-文件操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
時間限制: 1 s ?空間限制: 64000 KB ?題目等級 : 鉆石 Diamond 題目描述?Description
輸入一組數據,將每個數據加1后輸出
?
輸入描述?Input Description輸入數據:兩行,第一行為一個數n,第二行為n個數據
輸出描述?Output Description輸出數據:一行,為處理過的數據
樣例輸入?Sample Input5
-1 2 100 -5 14
樣例輸出?Sample Output0 3 101 -4 15
數據范圍及提示?Data Size & Hint數據范圍:對60%為數據,ni≤32767
對100%為數據,ni≤10255
n<=500
正數用加法 負數用減法
屠龍寶刀 點擊就送
#include <iostream> #include <cstring> #include <cstdio>using namespace std;int n,strr[256]; char str[256]; bool pd(int k) {while(strr[++k])return 1;return 0; } int main() {cin>>n;while(n--){memset(strr,0,sizeof(strr));scanf("%s",str);int l=strlen(str);if(str[0]!='-'){for(int i=0;i<l;++i)strr[l-i]=str[i]-48;strr[1]++;int i=1;while(strr[i]>=10){strr[i+1]+=strr[i]/10;strr[i]%=10;l=max(l,i+1);i++;}for(i=l;i>0;i--)cout<<strr[i];}if(str[0]=='-'){for(int i=1;i<l;++i){strr[l-i]=(str[i]-48);}l--;strr[1]--;int i=1;while(strr[i]<0){strr[i+1]--;strr[i]=9;if(strr[i+1]) l=max(l,i+1);else if(!pd(i+1)) l=i;i++;}if(strr[l]!=0){cout<<"-";for(i=l;i>=1;i--)cout<<strr[i];}else cout<<"0";}cout<<" ";} }?
轉載于:https://www.cnblogs.com/ruojisun/p/6412661.html
總結
以上是生活随笔為你收集整理的codevs 3054 高精度练习-文件操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: easyui radio 取值和赋值
- 下一篇: Flex Box的技巧合集 #css布局