题目1198:a+b-----没有AC掉,,,,,借鉴了别人的一份,还有carr(c[len] = carr)(++len);是什么意思?...
WA:在屏幕上可以出现正确的结果,不知为何不能AC
#include<stdio.h> #include<stdlib.h> #include<cstring> int main() { char str1[1001],str2[1001];while(scanf("%s %s",str1,str2)!=EOF){int a[1001],a1=0,b[1001],b1=0,c[1001],c1=0;int i,j;for (i=0;str1[i]!='\0';i++)a[a1++]=str1[i]-'0';a[a1]='\0'; for(j=0;str2[j]!='\0';j++)b[b1++]=str2[j]-'0';b[b1]='\0';int t=0;//代表进位 for (i=a1-1,j=b1-1;i>=0&&j>=0;i--,j--){c[c1++]=(a[i]+b[j]+t)%10;t=(a[i]+b[j]+t)/10; }int p;if (i>=0) //证明a数组有剩余 {p=t;for (i=i;i>=0;i--){c[c1++]=(a[i]+p)%10;p=(a[i]+p)/10; }} if (j>=0) //证明b数组有剩余 {p=t;for (j=j;j>=0;j--){c[c1++]=(b[j]+p)%10;p=(b[j]+p)/10; }} c[c1++]=p;c[c1]='\0';int k=c1-1;while(c[k]==0) k--;for (k=k;k>=0;k--)printf("%d",c[k]);printf("\n");} return 0;}
大神的AC代码:
/*时间:2014.1.16.22.00目的:大数求和 */ #include <stdio.h> #include <string.h>char a[1001],b[1001]; int c[1001];int main() {int carr,len_a,len_b,i,j,temp,len;while(~scanf("%s %s", a, b)){carr = len =0;len_a = strlen(a);len_b = strlen(b);for(i = len_a - 1,j = len_b - 1;i >= 0 && j >= 0;i--, --j){temp = a[i] - '0' + b[j] - '0' + carr;c[len] = temp % 10;carr = temp / 10;len++;} while(i >= 0){temp = carr + a[i] - '0';c[len] = temp % 10;carr = temp / 10;i--;len++;}// carr&&(c[len] = carr)&&(++len);此处我重复了一次 导致WA 因为当输出8 4 时 输出为112,多输出了一个1 while(j >= 0){temp = carr + b[j] - '0';c[len] = temp % 10;carr = temp / 10;j--;len++;}carr&&(c[len] = carr)&&(++len);//这到底是什么什么意思???????for(--len;len>=0;--len)printf("%d", c[len]);printf("\n");}return 0; } /* 输出结果: --------------------- 2 6 思路: 1.由于数很大,必须用字符串存取 8 2.注意a,b串是从大高位到低位存储,故数字的最低位在串的最高位 10000000000000000000 100000000000000000000000000000003.c串的输出时高位到低位的输出 10000000000010000000000000000000 --------------------- */
转载于:https://www.cnblogs.com/jianrenguo/p/6538630.html
题目1198:a+b-----没有AC掉,,,,,借鉴了别人的一份,还有carr(c[len] = carr)(++len);是什么意思?...相关推荐
- 题目1198:a+b
题目描述: 实现一个加法器,使其能够输出a+b的值. 输入: 输入包括两个数a和b,其中a和b的位数不超过1000位. 输出: 可能有多组测试数据,对于每组数据, 输出a+b的值. 样例输入: 2 6 ...
- 2021 SangFor(羊城杯)-Reverse(逆向) Ez_Android Write up
0x00 日常查壳? 安卓逆向,我用JADX 0x01 值得注意的文件 只有在这里文件里所注册的活动页 才会被手机用户观察 0x02 分析主函数 于是直接分析MainActivity 关于这些R.st ...
- 统计自己洛谷AC题目爬虫
update on 2018.9.23 洛谷开启了通过题目难度的显示,现在这个爬虫已经没用了,也就看看吧. 本文中的代码转载于https://github.com/ACodreamer/Luogu-A ...
- 力扣热门题目简单部分合集(共23道)
文章目录 前言 1.两数之和(哈希表,双指针,数组) 2.有效的括号(栈,哈希表) 3.合并两个有序链表(递归,迭代) 4.最大子数组和(动态规划,分治,贪心) 5.爬楼梯(迭代,递归,动态规划,数学 ...
- 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 问题 D: AC自动机(二分,第一个等于和最后一个等于)
问题 D: AC自动机 时间限制: 1 Sec 内存限制: 128 MB [提交][状态][讨论版] 题目描述 天降伟人 PK 又公开了他的新发明:AC自动机--一种可以自动 AC 题目的神秘装置. ...
- Censored! POJ - 1625 AC自动机+大数DP
题意: 给出一n种字符的字典,有p个禁用的单词, 问能组成多少个不同的长度为m的合法字符串.(m<=50) 题解: 是不是个我们之前做的题目非常非常像,题意都一样. 直接将上次写的AC自动机+矩 ...
- POJ - 1625 Censored!(AC自动机+dp+高精度运算)
题目链接:点击查看 题目大意:给出一个含有 n 个不同字符的字符集,接着规定所有单词的长度为 m ,再给出 k 个病毒串,问有多少个字符串中不含有病毒串 题目分析:这个题目和之前做过的DNA的那个题有 ...
- 数据结构与算法之美笔记——基础篇(下):图、字符串匹配算法(BF 算法和 RK 算法、BM 算法和 KMP 算法 、Trie 树和 AC 自动机)
图 如何存储微博.微信等社交网络中的好友关系?图.实际上,涉及图的算法有很多,也非常复杂,比如图的搜索.最短路径.最小生成树.二分图等等.我们今天聚焦在图存储这一方面,后面会分好几节来依次讲解图相关的 ...
最新文章
- java怎么读取word某一页内容_Word页码设置的3点技巧,提高排版效率,减少不必要烦恼...
- GitHub 4.6 万星:Windows Terminal 预览版开放下载!
- uva1616二分加误差处理
- IOS15之JSON的解析字典转模型
- 把数据集刷穿是什么体验?MetaQA已100%准确率
- 姓名的首字母组成的图案C语言怎么编,c语言编写一个程序,根据用户输入英文名和姓先显示姓氏,其后跟一个逗号,然后显示名的首字母:...
- 黑桃k游戏java实战_Java入门第三季项目实战——扑克游戏
- ASP.NET MVC:UrlHelper.cs
- sqlmap安装和使用
- PostSql创建用户
- 转载--32个鲜为人知的自学网站
- 互补滤波系数_四元数+互补滤波 - osc_5aksh307的个人空间 - OSCHINA - 中文开源技术交流社区...
- 人工晶状体在线公式A常数优化——多线程
- 08-【go】go语言中的*和的使用方法
- 小老鼠冒险记:《Moss 2》幕后花絮
- [轉貼]奋斗5年从月薪3500到700万!
- Mybatis批量update修改实例
- 网络带宽单位转换 — MB/s、Mb/s、Mbps、Mbit/s、Kbps
- 时序预测 | MATLAB实现LSTM长短期记忆神经网络时间序列预测
- 装箱问题c语言函数,C语言基于贪心算法解决装箱问题的方法