省赛第三次训练赛

队友都有事出去了,自己一个写的比赛  心力交瘁

大明A+B

Time Limit: 1000 ms /Memory Limit: 32768 kb

Description

话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫“大明”。
这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法。

现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。

Input

本题目包含多组测试数据,请处理到文件结束。
每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。

Output

请在一行里面输出输出A+B的值,请输出最简形式。详细要求请见Sample Output。

Sample Input
 
1.1 2.9 1.1111111111 2.3444323343 1 1.1
Sample Output
 
4 3.4555434454 2.1
Source
2007省赛集训队练习赛(6)_linle专场
#include<bits/stdc++.h>
using namespace std;

char s1[500], s2[500];
int  a[500], a2[500], b[500];
int lena, lenb, tmp1, tmp2, st1, st2, d2;





int main()
{
    while(~scanf("%s%s",s1,s2))
    {
        memset(a,0,sizeof(a));
        memset(a2,0,sizeof(a2));
        memset(b,0,sizeof(b));
        lena=strlen(s1);
        lenb=strlen(s2);
        int  i, j, c=0;
        st1=0, st2=0;
        for(i=0; i<lena; i++)
        {
            if(s1[i]!='.')  a[i]+=s1[i]-'0';
            else
            {
                st1=max(st1,i-1);
                break;
            }
        }
        if(i==lena) st1=lena-1;
        for(j=i+1; j<lena; j++)
            b[j-i-1]+=s1[j]-'0';
        for(i=0; i<lenb; i++)
        {
            if(s2[i]!='.')  a2[i]+=s2[i]-'0';
            else
            {
                st2=max(st2,i-1);
                break;
            }
        }
        if(i==lenb) st2=lenb-1;
        for(j=i+1; j<lenb; j++)
            b[j-i-1]+=s2[j]-'0';
        if(st1>=st2)  c=1;
        if(c==1)
        {
            for(i=st1, j=st2; j>=0; i--,j--)
                a[i]+=a2[j];
        }
        else
        {
            for(i=st1, j=st2; i>=0; i--,j--)
                a2[j]+=a[i];
            for(i=st2; i>=0; i--)
                a[i]=a2[i];
        }
        st1=max(st1,st2);
        tmp1=0, tmp2=0;
//        int i, j;
        for(i=499; i>=0; i--)
            if(b[i]!=0) break;
        for(j=i; j>=0; j--)
        {
            if(b[j]>=10&&j!=0)
            {
                b[j-1]+=1;
                b[j]%=10;
            }
            else if(b[j]>=10&&j==0)
            {
                b[j]%=10;
                tmp2=1;
            }
        }
        a[st1]+=tmp2;
        for(j=st1; j>=1; j--)
        {
            if(a[j]>=10)
            {
                a[j-1]+=1;
                a[j]%=10;
            }
        }




        int flag=0;
        for(i=499; i>=0; i--)
            if(b[i]!=0)
            {
                d2=i;
                flag=1;
                break;
            }
        if(flag)
        {
            for(i=0; i<=st1; i++)
                printf("%d",a[i]);
            printf(".");
            for(j=0; j<=d2; j++)
                printf("%d",b[j]);
            puts("");
        }
        else
        {
            for(i=0; i<=st1; i++)
                printf("%d",a[i]);
            puts("");
        }
    }
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 第十三届蓝桥杯EDA赛训练试题二资源包是一份用于训练和竞赛的资源包。该资源包提供了一系列的题目和相应的测试数据供选手使用。 首先,这份资源包包含了一些常见的EDA(Electronic Design Automation,电子设计自动化)技术题目。这些题目涉及到电路设计、逻辑综合、布图优化等方面的知识,并要求选手通过编程的方式完成相应的算法实现。选手可以运用已学的EDA技术知识和算法,解决特定的电路设计问题。 此外,资源包还提供了相应的测试数据。这些测试数据是为了验证选手算法实现的正确性和效率。选手需要运用自己的编程能力,通过读取测试数据,计算出相应的结果,并和预期答案进行对比,以判断算法是否正确。这样的测试数据能够帮助选手了解自己算法的性能表现,并不断优化自己的算法。 通过训练试题二资源包,选手可以提高自己的EDA技术水平和编程能力。通过解决这些设计问题,选手可以深入理解EDA技术在实际应用中的作用和意义。同时,选手还可以通过与其他选手的对比,了解自己与其他选手之间的竞争对手。 总之,第十三届蓝桥杯EDA赛训练试题二资源包提供了一系列的EDA技术题目和相应的测试数据,帮助选手提高自己的电路设计和编程能力。选手通过解决这些问题,可以深入了解EDA技术在实际应用中的作用,并锻炼自己的竞赛能力。 ### 回答2: 第十三届蓝桥杯EDA赛训练试题二资源包包含了各种必要的资源和工具,供参赛选手使用和学习。这些资源包括以下几个方面: 1. 题目说明:资源包中包含了各个题目的详细说明和要求,包括题目的背景、要求和限制条件等。选手可以根据这些说明来理解题目的要求,然后制定相应的解题方案。 2. 数据集:资源包中还包括了与每个题目相关的数据集,这些数据集是选手用来进行算法设计和测试的基础。选手可以根据题目要求,使用这些数据集进行算法的开发和测试。 3. 工具包:资源包中还包含了一些常用的工具和库,方便选手进行算法开发和调试。这些工具包括编程语言的开发环境、数据分析和可视化工具、常用的数据结构和算法库等。选手可以根据自己的喜好和需求,选择合适的工具来进行算法的开发和实现。 4. 参考资料:此外,资源包中还提供了一些与题目相关的参考资料,包括算法原理和实现细节等。选手可以通过阅读这些资料,加深对题目背景和算法的理解,提高解题的效率和质量。 总体而言,第十三届蓝桥杯EDA赛训练试题二资源包是为了帮助选手更好地进行算法设计和实现,提供了题目说明、数据集、工具包和参考资料等方面的支持。选手可以根据这些资源的帮助,更好地理解题目要求,进行算法的开发和测试,提高比赛成绩。 ### 回答3: 第十三届蓝桥杯EDA赛训练试题二的资源包主要包含以下内容: 1. 电路图:资源包中包含了待设计的电路图,电路图上标有各个元件的类型和数值,需要选手根据要求进行逻辑设计和仿真。 2. EDA工具:资源包中还包含了EDA(Electronic Design Automation)工具,例如常用的电路设计软件,如Multisim、Cadence、TINA等。选手可以使用这些工具进行电路设计、仿真和分析。 3. 参考资料:资源包中还提供了一些参考资料,包括电路设计、EDA软件使用指南、电路分析方法等等,这些资料可以帮助选手更好地理解题目要求和使用EDA工具。 通过这个资源包,选手可以获得电路图、EDA工具和相关资料来进行电路设计和仿真实验。选手需要先仔细阅读题目要求和参考资料,然后使用EDA工具进行电路设计和仿真。他们可以通过连接各个元件、设定元件的数值、运行仿真等步骤来完成任务。 在设计和仿真过程中,选手需要注意电路的准确性、稳定性、可靠性和性能等方面的要求。他们还需要通过分析仿真结果,验证电路设计是否满足题目要求,并进行必要的调整和优化。 综上所述,第十三届蓝桥杯EDA赛训练试题二的资源包为选手提供了进行电路设计和仿真的基础工具和资料,选手需要结合题目要求和参考资料,使用EDA工具进行电路设计和仿真,并根据仿真结果进行优化和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值