杭电1002

因为最后的一个分号没控制好,交了好多遍。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
char str1[1001],str2[1001];
int str3[1001],str4[1001];
int  num[1001];
int main()
{
    int T,count;
    int len1,len2;
    int i,j,k,m=1;

    scanf("%d",&T);
    for(count=1;count<=T;count++)
    {
        scanf("%s",str1);
        scanf("%s",str2);

        len1=strlen(str1);
        len2=strlen(str2);

        for(i=len1-1,j=0;i>=0;i--)
        {
            str3[j]=str1[i]-'0';
            j++;
        }

        for(i=len2-1,j=0;i>=0;i--)
        {
            str4[j]=str2[i]-'0';
            j++;
        }

        if(len1<=len2)
        {
            k=0;
            for(i=0;i<len2;i++)
            {
                num[i]=(str3[i]+str4[i]+k)%10;
                k=(str3[i]+str4[i]+k)/10;
            }
            printf("Case %d:\n",m);
            printf("%s + %s = ",str1,str2);
            if(k==1)
            {
                num[len2]=1;
                printf("%d",num[len2]);
            }
            for(i=len2-1;i>=0;i--)
            {
                printf("%d",num[i]);
            }
            printf("\n");
            if(T!=count)
            printf("\n");
            memset(str1,0,sizeof(str1));
            memset(str2,0,sizeof(str2));
            memset(str3,0,sizeof(str3));
            memset(str4,0,sizeof(str4));
            memset(num,0,sizeof(num));
            m++;
        }
        else
        {
            k=0;
            for(i=0;i<len1;i++)
            {
                num[i]=(str3[i]+str4[i]+k)%10;
                k=(str3[i]+str4[i]+k)/10;
            }
            printf("Case %d:\n",m);
            printf("%s + %s = ",str1,str2);
            if(k==1)
            {
                num[len1]=1;
                printf("%d",num[len1]);
            }
            for(i=len1-1;i>=0;i--)
            {
                printf("%d",num[i]);
            }
            printf("\n");
            if(T!=count)
            printf("\n");
            memset(str1,0,sizeof(str1));
            memset(str2,0,sizeof(str2));
            memset(str3,0,sizeof(str3));
            memset(str4,0,sizeof(str4));
            memset(num,0,sizeof(num));
            m++;
        }
    }
}


 

杭电OJ(Online Judge)是中国的一家在线编程竞赛平台,提供各种算法、数据结构以及计算机科学相关的题目供用户练习和挑战。其中编号为“1002”的题目通常会根据其具体的描述来命名和分类。 针对“杭电oj1002”,如果这是一个特定的C++题目,那么其背景和内容将依赖于该题目的具体说明部分。然而,我可以为你提供一些通用指导,帮助你在面对这类题目时如何准备和解决。 ### 准备步骤: 1. **理解问题描述**:首先,认真阅读题目描述,理解输入、输出的具体要求,以及任何限制条件。这是解决问题的基础。 2. **分析数据范围**:了解输入的数据规模对选择解法非常重要。例如,对于较小的数据量,可以采用暴力搜索等直接方法;而对于大规模数据,则需要考虑更高效的算法,如动态规划、图论算法、数学技巧等。 3. **确定解法**:基于问题特点和数据范围,选择合适的算法或数据结构。对于“1002”这样的题目,通常会涵盖多种基本和进阶的算法知识。 4. **编码实现**:在理解和设计算法之后,开始编写代码实现。使用C++语言时,注意语法细节、效率优化,并确保程序的可读性和维护性。 5. **调试测试**:提交前,通过自测案例验证程序的正确性和性能。可以尝试边界情况、极端值等边缘测试数据点。 6. **提交与反馈**:提交代码到杭电OJ平台上,等待系统反馈结果。接收错误信息后,针对性地修改代码,直至通过所有测试案例。 ### 相关问题: 1. 面对复杂的算法题时,应该如何有效地分解问题并找到解决方案? 2. C++中常用的数据结构有哪些,在“1002”类型的题目中哪些可能会用到? 3. 在编写C++代码时,如何有效处理输入输出操作以满足杭电OJ的要求? 以上指南旨在帮助你提高在杭电OJ上解答类似问题的能力,希望对你有帮助。记住,实践是提升的关键,多做题、总结经验,你会逐渐变得更熟练。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值