HDU1047 - Integer Inquiry (大数加法)
2015-09-06 17:06
489 查看
题目链接
思路
代码
思路
代码
思路
大数加法,这道题的格式一直没控制好,PE了好长时间。代码
#include <iostream> #include <cstring> #include <algorithm> using namespace std; char ans[110]; char num[110]; void reverse(char *str) { int len = strlen(str); for(int i=0; i<len/2; i++) swap(str[i], str[len-i-1]); } void add(char *str, char *num) { int i=0, temp=0; for( ; str[i]&&num[i]; i++) { temp = str[i] + num[i] - '0' * 2 + temp; str[i] = (temp%10) + '0'; temp /= 10; } if(!num[i]&&!str[i]&&temp) str[i] = temp + '0'; else if(!num[i]) { for(; str[i]; i++) { temp = str[i] - '0' + temp; str[i] = (temp%10) + '0'; temp /= 10; } if(temp) str[i] = temp + '0'; } else { for(; num[i]; i++) { temp = num[i] - '0' + temp; str[i] = (temp%10) + '0'; temp /= 10; } if(temp) str[i] = temp + '0'; } } void print(char *str) { reverse(str); for(int i=0; str[i]; i++) printf("%c", str[i]); printf("\n"); } int main() { int t; bool first = true; scanf("%d", &t); while(t--) { if(first) first = false; else printf("\n"); memset(ans, 0, sizeof(ans)); while(true) { scanf("%s", num); if(num[0]=='0') break; reverse(num); add(ans, num); } if(ans[0]=='\0') printf("0\n"); else print(ans); } return 0; }
相关文章推荐
- IOS 键盘的显示与关闭,以及移动显示(UITextView处理完整版)
- shop++ CriteriaQuery 数据库查询语句
- UIScrollView上截图
- UIView截图
- serialVersionUID的作用
- codeforces 487 C Prefix Product Sequence 构造+逆元
- UIScrollView相关
- ndk-build 编译多个CPU架构的动态链接库
- kqueue 实现文件操作监控
- Copy + Paste (Clipboard) Issues / Not Working?
- (leetcode)Unique Paths II
- POJ 1019:Number Sequence 二分查找
- POJ 1019:Number Sequence 二分查找
- 【第四篇】Volley修改之GsonRequest
- POJ 1458 Common Subsequence
- 自定义UITableViewCell(registerNib: 与 registerClass: 的区别
- NGUI与3d模型的<三明治>问题
- 在 SystemUI 的 Statusbar 中 添加 ethernet status icon
- Java实现Queue类
- iOS开发--UICollectionView网格视图