关于杭州电子科技大学的acm1002, 1003, 1004, 1005, 1008, 1009, 1012, 1013,1014,1015,1016,1017,1019,1020,1021,1022

本文提供了杭州电子科技大学ACM编程竞赛中1002到1022题目的部分代码实现,包括字符串操作、数组处理、数学计算等算法问题。通过这些代码,读者可以了解如何解决相关编程挑战。
摘要由CSDN通过智能技术生成
1002:
#include<stdio.h>
#include<math.h>
int main()
{
    int a[1000]={0}, b[1000]={0}, c[1000]={0};
    char q[1000], w[1000];
    int i, j=0, n, m, x, s, k=0, t=0, g;
    scanf("%d", &n);
    for(g=1; g<=n; g++)
    {
        if(t>0)
        printf("\n");
        scanf("%s", q);
        scanf("%s", w);
        j=strlen(q);
        m=strlen(w);
            x=((j>m)?j:m);
            for(i=0; i<j; i++)
                a[i]=q[j-i-1]-'0';
            for(i=0; i<m; i++)
                b[i]=w[m-i-1]-'0';

        for(i=0; i<x; i++)
        {
            s = a[i]+b[i]+c[i];
                c[i] = s%10;
                c[i+1] = s/10;
        }
        if(c[i])
           x++;
           t++;
           printf("Case %d:\n",t);
        printf("%s + %s = ",q,w);
        for(i=x-1; i>=0; i--)
        printf("%d", c[i]);
        printf("\n");
        for(i=0; i<j; i++)a[i]= 0;
        for(i=0; i<m; i++)b[i]=0;
        for(i=0; i<x; i++)c[i]=0;
    }
return 0;
}
 
 
 
1003:
#include<stdio.h>
int a[100005],sum[100005];
int main()
{
    int ca,count=0, r, max, n, i ;
    scanf("%d",&ca);
    while(ca--)
        {
            scanf("%d",&n);
            for(i=0;i<n;i++)
            scanf("%d",&a[i]);
            sum[0]=a[0];
             r=0;
             max=a[0];
            for(i=1;i<n;i++)
                {
                    if(sum[i-1]>0)
                    {
                        sum[i]=sum[i-1]+a[i];
                        if(sum[i]>max)
                            {
                                max=sum[i];
                                r=i;
                            }
                    }
                    else
                    {
                        sum[i]=a[i];
                        if(sum[i]>max)
                        {
                            max=sum[i];
                            r=i;
                        }
                    }
                }
                    count++;
                    for(i=r-1;i>=0;i--)
                        if(sum[i]<0)
                        break;
                    printf("Case %d:\n",count);
                    printf("%d %d %d\n",max,i+2,r+1);
                    if(ca!=0)
                        printf("\n");
            }
}

/*
#include<stdio.h>
int a[100005];
int main()
{
    int x1, x2, i, j, n, m, s1, s2, s3, s4, math, b=0;
    scanf("%d", &x1);
    s4 = x1;
    while(x1--)
    {
        m = 0;
        if(b>0)
            printf("\n");
        scanf("%d", &x2);
        for(i=0; i<x2; i++)
            scanf("%d", &a[i]);
            math = a[0];
            while(m<x2)
                {n=-1;
                    for(i=0; i<=x2-m; i++)
                    {
                        n++;
                        s1=0;
                        if(a[n]<=0)
                            continue;
                        for(j=n; j<=n+m; j++)
                        {
                            s1 = a[j]+s1;
                        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值