隐藏页面特效

3054 高精度练习-文件操作

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

数据改了7次终于改对了

分类标签 Tags 

#include<cstdio> #include<iostream> #include<cstring> #define ref(i,x,y)for(int i=x;i<=y;i++) #define def(i,x,y)for(int i=x;i>=y;i--) using namespace std; int lena,lenb,lenc,p,t,a[1010],b[1010],c[1010]; char a1[1010]; bool flag=0; int main() { scanf("%d",&t); while(t--){ memset(a1,0,sizeof a1); memset(a,0,sizeof a); memset(b,0,sizeof b); memset(c,0,sizeof c); scanf("%s",a1); lena=strlen(a1);lenb=1; lenc=max(lena,lenb);b[1]=1; if(a1[0]=='-'&&a1[1]=='1'&&a1[2]=='\0'){printf("0 ");continue;} if(a1[0]=='-'){ flag=1; def(i,lena-1,1) a[++p]=a1[i]-48; lena--;p=0; } else ref(i,0,lena-1) a[lena-i]=a1[i]-48; if(!flag){ ref(i,1,lenc){ c[i]+=a[i]+b[i]; c[i+1]+=c[i]/10; c[i]%=10; } int j=lenc+1; while(c[j]==0&&j>1) j--; def(i,j,1) printf("%d",c[i]); printf(" "); } else{ printf("-");flag=0; ref(i,1,lena){ if(a[i]<b[i]){ a[i+1]--;a[i]+=10; } c[i]=a[i]-b[i]; } int j=lena+1; while(c[j]==0&&j>1) j--; def(i,j,1) printf("%d",c[i]); printf(" "); } } return 0; }

 


__EOF__

本文作者shenben
本文链接https://www.cnblogs.com/shenben/p/5557433.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   神犇(shenben)  阅读(181)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示