杭电1002-A + B Problem II

#include<stdio.h>
#include<string.h>

int main()
{
    char str1[1001],str2[1001];
    int t,i,maxlen,len1,len2,k,num=1;
    scanf("%d",&t);
    getchar();
    while(t--)
    {
        int a[1001]={0},b[1001]={0},c[1001]={0};
        scanf("%s",str1);
         len1=strlen(str1);
        for(i=0;i<=len1-1;i++)
        {
           a[i]=str1[len1-i-1]-‘0‘;
        }
        scanf("%s",str2);
         len2=strlen(str2);
        for(i=0;i<=len2-1;i++)
        {
           b[i]=str2[len2-i-1]-‘0‘;
        }
        if(len1>len2)
             maxlen=len1;
        else
             maxlen=len2;
        k=0;
        for(i=0;i<=maxlen-1;i++)
        {
           c[i]=(a[i]+b[i]+k)%10;
           k=(a[i]+b[i]+k)/10;
        }
        if(k!=0)
         c[maxlen]=1;
         printf("Case %d:\n",num);
         num++;
         printf("%s + %s = ",str1,str2);
         if(c[maxlen]==1)
           printf("1");
         for(i=maxlen-1;i>=0;i--)
           printf("%d",c[i]);
         printf("\n");
         if(t>=1)
            printf("\n");
    }
    return 0;
}

时间: 2024-08-10 02:03:09

杭电1002-A + B Problem II的相关文章

杭电 1002 A + B Problem II(大数处理)

A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 209179    Accepted Submission(s): 40226 Problem Description I have a very simple problem for you. Given two integers A and B, yo

杭电 1002 A + B Problem II【大数相加】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 解题思路:就是把大的数用数组存放起来,像小学的时候用竖式加法来算两个数相加那样算: 反思:思路很简单,可是有很多细节考虑不好,有时候没有进位,有时候又没有输出正确的答案,然后有时候数组长度又开小了什么的,所以还要多多练习. #include<stdio.h> #include<string.h> #define max 1000 void add(char a[],char b[

大数A+B 【杭电-1002】 附题

/* A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 209912    Accepted Submission(s): 40404 Problem Description I have a very simple problem for you. Given two integers A and B,

HDOJ 1002 A + B Problem II (Big Numbers Addition)

题目链接在此?http://acm.hdu.edu.cn/showproblem.php?pid=1002 这题也比较简单,只需要开三个长度为1000的char数组来分别储存a.b.ans,再利用我们加法的算法,先向右对齐再相加.注意一下进位时的特殊情况就好了. 不过笔者的代码写好后提交上去,两次Presentation Error,然后才发现只是最后多输出一个空行的问题  =.= Orz /**  * HDOJ 1002 A + B Problem II  * Big Numbers Addi

HDU 1002 A + B Problem II(两个大数相加)

详细题目点击:http://acm.hdu.edu.cn/showproblem.php?pid=1002 Problem Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B. Input The first line of the input contains an integer T(1<=T<=20)

抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)

数字的反转: 就是将数字倒着存下来而已.(*^__^*) 嘻嘻…… 大致思路:将数字一位一位取出来,存在一个数组里面,然后再将其变成数字,输出. 详见代码. 1 while (a) //将每位数字取出来,取完为止 2 { 3 num1[i]=a%10; //将每一个各位取出存在数组里面,实现了将数字反转 4 i++; //数组的变化 5 a/=10; 6 } 趁热打铁 例题:hdu 4554 叛逆的小明 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid

A + B Problem II(杭电1002)

/*A + B Problem II Problem Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B. Input The first line of the input contains an integer T(1<=T<=20) which means the number of test case

hdoj 1002 A + B Problem II

A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 242959    Accepted Submission(s): 46863 Problem Description I have a very simple problem for you. Given two integers A and B, you

HDU 1002 A + B Problem II(大整数相加)

A + B Problem II Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B. Input The first line of the input c

HPU 1002 A + B Problem II【大数】

A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 261413    Accepted Submission(s): 50581 Problem Description I have a very simple problem for you. Given two integers A and B, yo