codevs 3054 高精度练习-文件操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codevs 3054 高精度练习-文件操作相关的知识,希望对你有一定的参考价值。
时间限制: 1 s
空间限制: 64000 KB
题目等级 : 钻石 Diamond
题目描述 Description
输入一组数据,将每个数据加1后输出
输入描述 Input Description
输入数据:两行,第一行为一个数n,第二行为n个数据
输出描述 Output Description
输出数据:一行,为处理过的数据
样例输入 Sample Input
5
-1 2 100 -5 14
样例输出 Sample Output
0 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]; 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); } strr[1]--; int i=1; while(strr[i]<0) { strr[i+1]--; strr[i]=9; l=max(l,i+1); i++; } if(strr[l-1]!=0) { cout<<"-"; for(i=l-1;i>=1;i--) cout<<strr[i]; } else cout<<"0"; } cout<<" "; } }
以上是关于codevs 3054 高精度练习-文件操作的主要内容,如果未能解决你的问题,请参考以下文章