题目链接:杭电OJ 1002

表面上看是a+b,很简单,其实是大数的相加,所以要考虑的因素有很多;(瞬间觉得要是能用Python多好,哈哈哈)

还有!!!

要特别注意格式的输出!!!真的害死人!!!摸不清输出格式到底是啥,只能多尝试几下!!!

思路:

我是先找处两个字符串中长度较大的那个,(但是也有特殊情况,例如“5”+“7”,需要进一位,所以,在前面需要预留一个空格,如果最后是“0”,则不输出最后一个空格),对所有的元素先赋值为0,从最后面往前推,类似于小学的加法方式,然后如果不需要进位则直接储存,如果需要进位,则在前面一个空间先加1。

#include "stdio.h"
#include "math.h"
#include "string.h"
char a[1000],b[1000];
int f[1001]; int shu (char c)
{return (c-'0');
}int main ()
{int i,len_max,len1,len2,N,n,k;scanf("%d",&N);for(n=1;n<=N;n++){scanf("%s%s",&a,&b);len1=strlen(a);len2=strlen(b);len1>len2?len_max=len1:len_max=len2;k=len_max;for(i=0;i<=k;i++){f[i]=0;}len1--;len2--;for(;len1>=0 && len2>=0;k--){f[k]+=(shu(a[len1--])+shu(b[len2--]));if(f[k]/10){f[k-1]++;f[k]%=10;}}while(len1>=0){f[k]+=shu(a[len1--]);if(f[k]/10){f[k]%=10;f[k-1]++;}k--;}while(len2>=0){f[k]+=shu(b[len2--]);if(f[k]/10){f[k]%=10;f[k-1]+=1;}k--;}printf("Case %d:\n",n);printf("%s + %s = ",a,b);for(i=0;i<=len_max;i++){if(i==0 && f[i]==0)i++;printf("%d",f[i]);}if(n!=N){printf("\n\n");} else{printf("\n");}}   return 0;
} 

【ACM】杭电OJ 1002相关推荐

  1. 杭电oj 1002 C语言解法

    杭电oj这道题的解法是要通过字符数组储存数字在进行运算的,同时涉及到数值进位的问题,以下是代提供码参考. #include<stdio.h> #include<string.h> ...

  2. 杭电OJ 1002 题目解答

    HDOJ 1002 A+B Problem Ⅱ AC 代码: #include <iostream> #include <string> #include <algori ...

  3. 杭电oj 1002 c++版本

    题目坑不多,就是大数的求和,基本就是BigDecimal的翻版,但格式输出很坑,前面两个\n,最后一个\n,一直pe很难受. 解题思路: 把两个数字按字符的形式按位加起来,注意下进位和高低位就行了,和 ...

  4. 赛马网ACM试题(原杭电oj ACM)java版答案(1000,10001,1002)

    赛马网ACM试题(原杭电OJ ACM试题)答案(java版) Author : Zhang Hailong   Date   : 2015-09-17    HomePage : http://  E ...

  5. 杭电OJ——ACM 1009.FatMouse‘ Trade

    FatMouse'Trade 杭电OJ--ACM 1009.FatMouse' Trade链接入口 问题描述        肥老鼠换东西,m磅猫食,n间房子,每个房间有J[i]磅JavaBean,对应 ...

  6. 杭电OJ——ACM 1003.Max Sum

    Max Sum 杭电OJ--ACM 1003.Max Sum链接入口 问题描述 大意:        给定一个序列a[1],a[2],a[3]-a[n],你需要算出其子序列中的最大值.比如说:给你一个 ...

  7. 【ACM】杭电OJ 2037

    题目链接:杭电OJ 2037 先把b[i]进行排序,然后,b[i]与a[i+1]进行比较. #include <iostream> #include <cstdio> #inc ...

  8. 【ACM】杭电OJ 2020(排序)

    题目链接:杭电OJ 2020 排序可以有冒泡排序,选择排序,或者直接调用函数. 下面是选择排序: #include <stdio.h> #include <math.h> in ...

  9. 【ACM】杭电OJ 2018

    题目链接:杭电OJ 2018 从n>4开始,每一年的牛的数量=前一年的牛的数量+三年前的牛的数量 问:为什么是三年前? 答:假设三年前有一头小牛出生,出生的那一年即为第一年,到了第四年,即三年后 ...

最新文章

  1. Android -- DrawerLayout
  2. Java MVC框架性能比较 jsp、struts1、struts2、springmvc3 (转帖)
  3. yolov3训练loss为0
  4. python股票涨势_stock
  5. Unity 协程Coroutine综合测试
  6. cmd修改服务器命令,修改服务器的ip地址的命令行
  7. Android studio导入support-v4.jar
  8. Git clone的使用方法
  9. matlab 空矩阵耗时,性能 – 更快的方式通过空矩阵乘法初始化数组? (Matlab)
  10. 华为云VSS漏洞扫描服务之开源组件漏洞检测能力
  11. 雅虎借道阿里巴巴意在控股淘宝
  12. Java冒泡,选择,插入排序算法
  13. minus出错matlab,请求帮忙指点MATLAB中的语法错误
  14. 安装sw时出现sldim停止工作_脉冲滤筒除尘器的安装有哪些小常识
  15. 安装配置管理 之 安装和配置 JPackage Java
  16. 2019年7月Github上最热门的Java开源项目
  17. Modebus - usb转RS485(芯片)串口驱动
  18. linux 更改时间时区,Linux下修改系统时区
  19. 等差数列_等比数列公式
  20. 免流解密之SAOML二开

热门文章

  1. hung-yi lee_p18_图神经网络(cont.)
  2. java 查询 代码_java使用es查询的示例代码
  3. 如何导出Fortify 17.10扫描报告
  4. LVM 类型的 Storage Pool - 每天5分钟玩转 OpenStack(8)
  5. bzoj 1691: [Usaco2007 Dec]挑剔的美食家
  6. 维护学习的一点体会与看法
  7. linux 内核 出错-HP 方案
  8. linux 新增swap分区
  9. java中锁的介绍及运用
  10. 旋转矩阵、欧拉角、轴角