问题 C: A+B Problem II
题目描述
I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.
A,B must be positive.
输入
输出
样例输入
2
1 2
112233445566778899 998877665544332211
样例输出
Case 1:
1 + 2 = 3
Case 2:
112233445566778899 + 998877665544332211 = 1111111111111111110
1 /*对于此题做法有两种:
2 其一,使2字符串的中的字符数字减去'0',逐个相加大于等于10的可以使本位减10,下一位自增1,后面的处理就非常简单了;
3 其二,便是读入字符串后先让各个字符减'0',一一对应存入整形数组中;之后再相加。
4 对于2种方法大致是相同的,都要从后面向前加,逢十进位,以及数组初始化均要初始为0,一边方便运算。
5 下面用法一,代码如下:*/
6 #include<stdio.h>
7 #include<string.h>
8
9 int main( ) {
10 int n, i,len1, len2, j, k, pi, t;
11 char str1[1010], str2[1010];
12 scanf("%d", &n);
13 for(i = 1; i <= n; i++) {
14 int a[1200] = {0};
15 int flag = 0;
16 scanf("%s%s", str1, str2);//以字符串形式读入
17 printf("Case %d:\n", i);
18 len1 = strlen(str1);
19 len2 = strlen(str2);
20 printf("%s + %s = ", str1, str2);
21 j = len1-1;
22 k = len2-1;
23 pi = 0;
24 while(j >= 0 && k >= 0) { //开始相加
25 if(a[pi] + (str1[j]-'0') + (str2[j]-'0') >= 10) { //相加后大于10的
26 a[pi] = a[pi] + (str1[j] -'0')+(str2[k] - '0')-10;
27 a[pi+1]++;
28 }
29 else
30 a[pi] = a[pi] + (str1[j] - '0')+(str2[k]-'0');
31 pi++; k--; j--;
32 }
33 if(j>=0) {
34 for(t = j; t >= 0; t--) {
35 a[pi] = a[pi]+(str1[t]-'0');
36 pi ++;
37 }
38 }
39 else if(k >= 0) {
40 for(t = k; t >= 0; t--) {
41 a[pi] = a[pi] + str2[t]-'0';
42 pi++;
43 }
44 }
45 else if(a[pi]!=0)//对于位数相同2个数加后最高位大于10的
46 pi++;
47 for(t = pi - 1; t >= 0; t--) {
48 if(a[t]==0&&flag==0)
49 continue;
50 else
51 {
52 flag=1;
53 printf("%d", a[t]);
54 }
55 }
56 if(i!=n)//对于2组之间加空行的情况
57 printf("\n");
58 }
59 return 0;
60 }
问题 C: A+B Problem II的更多相关文章
- hdu1032 Train Problem II (卡特兰数)
题意: 给你一个数n,表示有n辆火车,编号从1到n,入站,问你有多少种出站的可能. (题于文末) 知识点: ps:百度百科的卡特兰数讲的不错,注意看其参考的博客. 卡特兰数(Catalan):前 ...
- nyoj 623 A*B Problem II(矩阵)
A*B Problem II 时间限制:1000 ms | 内存限制:65535 KB 难度:1 描述 ACM的C++同学有好多作业要做,最头痛莫过于线性代数了,因为每次做到矩阵相乘的时候,大 ...
- HDU 1002 A + B Problem II
A + B Problem II Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16104 Accepted ...
- A + B Problem II
之前总是在查阅别人的文档,看着其他人的博客,自己心里总有一份冲动,想记录一下自己学习的经历.学习算法有一段时间了,于是想从算法开始自己的博客生涯O(∩_∩)O~~ 今天在网上看了一道大数相加(高精度) ...
- nyoj 103 A + B problem II
点击打开链接 A+B Problem II 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 I have a very simple problem for you. G ...
- hdu 1023 Train Problem II
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1212 Train Problem II Description As we all know the ...
- HDU1002 -A + B Problem II(大数a+b)
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- 杭电ACM(1002) -- A + B Problem II 大数相加 -提交通过
杭电ACM(1002)大数相加 A + B Problem II Problem DescriptionI have a very simple problem for you. Given two ...
- hdoj 1002 A + B Problem II
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- hdoj 1002 A + B Problem II【大数加法】
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
随机推荐
- WPF进阶技巧和实战07--自定义元素01
完善和扩展标准控件的方法: 样式:可使用样式方便地重用控件属性的集合,甚至可以使用触发器应用效果 内容控件:所有继承自ContentControl类的控件都支持嵌套的内容.使用内容控件,可以快速创建聚 ...
- t-SNE 从入门到放弃
t-SNE 算法 1 前言 t-SNE 即 t-distributed stochastic neighbor embedding 是一种用于降维的机器学习算法,在 2008 年由 Laurens v ...
- gin 跨域问题
package middlewares import ( "github.com/gin-gonic/gin" "net/http" ) func Cors() ...
- C++优化列表
#pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize("Ofast") #pragma GCC ...
- 2021能源PWN wp
babyshellcode 这题考无write泄露,write被沙盒禁用时,可以考虑延时盲注的方式获得flag,此exp可作为此类型题目模版,只需要修改部分参数即可,详细见注释 from pwn im ...
- 【Spring】Spring重要类层次图
- WEB安全指南
说明:本文是Mozilla Web应用部署文档,对运维或者后端开发团队的部署行为进行指导.该部署安全规范内容充实,对于部署有很大意义.同时也涉及到了许多web前端应用安全的基本知识,如CSP, TOK ...
- 【UE4 C++】 Config Settings配置文件(.ini)
简介 常见存储路径 \Engine\Config\ \Engine\Saved\Config\ (运行后生成) [ProjectName]\Config\ [ProjectName]\Saved\Co ...
- Matlab/Modelsim图像联合仿真平台
FPGA图像仿真平台 1 引言 在使用modelsim进行图像算法的功能仿真时,无法得到图像的实时预览,因此直观性有所欠缺.因此可配合matlab使用,通过modelsim读出txt格式的图像,利用m ...
- 洛谷 P5665 [CSP-S2019] 划分
链接: P5665 题意: 给出 \(n\) 个整数 \(a_i\) ,你需要找到一些分界点 \(1 \leq k_1 \lt k_2 \lt \cdots \lt k_p \lt n\),使得 \( ...