HDU 1047(大数相加)(数组模拟)
发布时间:2021-05-28 09:12:09 所属栏目:大数据 来源:网络整理
导读:? 这个标题啊,着实踏实的做的话应该并不难,然而我想看是同一用字符串,照旧再转化成数组,然后看了别人的题解,傻冒一样的像别人一样谢了 getchar() ;真是傻冒了,我用的 scanf("%s",str), 跟它有个什么相关,莫非是这几天有点急功近利,以是才着急看
? 这个标题啊,着实踏实的做的话应该并不难,然而我想看是同一用字符串,照旧再转化成数组,然后看了别人的题解,傻冒一样的像别人一样谢了getchar();真是傻冒了,我用的scanf("%s",str),跟它有个什么相关,莫非是这几天有点急功近利,以是才着急看别人的思绪,淡定啊,本身的步崆最好的!! ? 只必要用一个数组,将每次输入的字符串转化并加上就行了!(最后输格外式也要留意下) 代码如下: //HDU 1047 数组模仿大数 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() { int n,i,j; cin>>n; while(n--) { char str[110]; int sum[110]={0};//假如放到开头界说,别忘了memset(); while(~scanf("%s",str)&&str[0]!='0') { for(i=strlen(str)-1,j=0;i>=0;i--,j++) { sum[j]+=str[i]-48;//转化成数字并加到数组上 if(sum[j]>9)//大于9进位 { sum[j]-=10; sum[j+1]+=1; } } } for(i=105;i>=0;i--) if(sum[i])//找到首位数字 break; for(j=i;j>=0;j--) cout<<sum[j]; if(i<0) cout<<0; cout<<endl; if(n) cout<<endl; } return 0; } (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |