• 馒头作业


    A + B Problem II

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 278225    Accepted Submission(s): 53657


    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 cases. Then T lines follow, each line consists of two positive integers, A and B. Notice that the integers are very large, that means you should not process them by using 32-bit integer. You may assume the length of each integer will not exceed 1000.
     
    Output
    For each test case, you should output two lines. The first line is "Case #:", # means the number of the test case. The second line is the an equation "A + B = Sum", Sum means the result of A + B. Note there are some spaces int the equation. Output a blank line between two test cases.
     
    Sample Input
    
    
    2 1 2 112233445566778899 998877665544332211
     
    Sample Output
    
    
    Case 1: 1 + 2 = 3 Case 2: 112233445566778899 + 998877665544332211 = 1111111111111111110 /*........................................上面是题目,下面是我的解答.........................................................*/ 睡觉 /*2015.11.5     馒头作业*/      #include<stdio.h> #include<string.h> int s[2][1005]={0}; char S[2][1005]; int main() {     int n=0,i=0;     scanf("%d ",&n);         int z=0,first=1;/*first用于计录第几次*/         for(z=0;z<n;z++)/*进行n次计算*/         {             memset(S,'0',sizeof(S));/*字符清零*/             memset(s,0,sizeof(s));             for(i=0;i<1006;i++)             {                 scanf("%c",&S[0][i]);                 if(S[0][i]==' '||S[0][i]==' ')                 {                     S[0][i]='';                     break;                 }             }             for(i=0;i<1006;i++)             {                 scanf("%c",&S[1][i]);                 if(S[1][i]==' '||S[1][i]==' ')                 {                     S[1][i]='';                     break;                 }             }             int n1=0,n2=0;             n1=strlen(S[0]);             n2=strlen(S[1]);             /*.......................接下来将字符变为数字...........................................*/             for(i=0;i<n1;i++)             {                 s[0][i]=S[0][i]-'0';             }             for(i=0;i<n2;i++)             {                 s[1][i]=S[1][i]-'0';             }             /*.........................倒转,准备加法进位........................................*/             int t=0;             for(i=0;i<n1/2;i++)             {                 t=s[0][i];                 s[0][i]=s[0][n1-1-i];                 s[0][n1-1-i]=t;             }             for(i=0;i<n2/2;i++)             {                 t=s[1][i];                 s[1][i]=s[1][n2-1-i];                 s[1][n2-1-i]=t;             }             /*......................相加,进位...........................................*/             int max=0;             max=n1>n2?n1:n2;             for(i=0;i<max;i++)             {                 s[0][i]=s[0][i]+s[1][i];                 if(s[0][i]>9)                 {                     s[0][i]%=10;                     s[0][i+1]++;                 }             }             /*.........................找到最高位不为零的那一项,标记.........................................*/             int k=0;             for(i=max+1;i>=0;i--)             {                 if(s[0][i]!=0)                 {                     k=i;                     break;                 }             }             /*......................按照格式输出..............................................*/             printf("Case %d: ",first);             for(i=0;i<n1;i++)                 printf("%c",S[0][i]);             printf(" + ");             for(i=0;i<n2;i++)                 printf("%c",S[1][i]);             printf(" = ");             for(i=k;i>=0;i--)             {                 printf("%d",s[0][i]);             }             printf(" ");             first++;             if(first-1!=n)             printf(" ");         }          return 0; } 哭为什么过不了......太伤心了,打了那么久= =
  • 相关阅读:
    吴裕雄--天生自然 R语言开发学习:模块包的安装命令
    玩转大数据系列之一:数据采集与同步
    阿里云弹性容器实例产品 ECI ——云原生时代的基础设施
    阿里云宣布进入 Serverless 容器时代,推出弹性容器实例服务 ECI
    阿里云宣布 Serverless 容器服务 弹性容器实例 ECI 正式商业化
    云HBase备份恢复,为云HBase数据安全保驾护航
    阿里云图数据库GraphDB上线,助力图数据处理
    免费带你体验阿里巴巴旗舰大数据计算产品MaxCompute
    如何快速打造一款高清又极速的短视频APP?
    视频云肖长杰:视频AI科技助力短视频生态
  • 原文地址:https://www.cnblogs.com/steamedbun/p/9373462.html
Copyright © 2020-2023  润新知