杭电ACM学习笔记(1)-----1000&1001&1002&1004

版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/qq_41641805/article/details/82316381

//Author:ZJQ
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a,b;
    while(scanf("%d %d",&a,&b)==2)
    {
        printf("%d\n",a+b);
    }
}

//Author:ZJQ
#include <stdio.h>
#include <stdlib.h>
int main()
{
   int n,sum,i;
   while(scanf("%d",&n)!=EOF)
   {
       sum=0;
       for(i=1;i<=n;i++)
       {
           sum+=i;
       }
       printf("%d\n\n",sum);
   }
}

以上两道题目可以说是一个类型,主要注意两点:千万不能陷入死循环,即while里不能是true,否则会出现Time Limited

scanf()返回成功输入数据的项数,如果已知要求有a项,可将scanf("%d----")==a当作条件进行判断;如果不知道有多少项,仅仅根据输入为多少时即跳出,需要将scanf("%d---")!=EOF或~scanf("%d---")作为条件!!

//Author:ZJQ
import java.math.BigInteger;
import java.util.*;

public class Main{
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        BigInteger a,b,c;
        int n,i=1;
        Scanner scan=new Scanner(System.in);
        n=scan.nextInt();
        while(i<=n){
            a=scan.nextBigInteger();
            b=scan.nextBigInteger();
            c=a.add(b);
            System.out.println("Case "+i+":");
            System.out.println(a + " + " + b + " = " + c);
            i=i+1;
            if(i!=n+1) {
                System.out.println();
            }
        }

    }
}

这里注意,Java用于ACM使有许多需要注意的点,首先测试类名字是固定的,必须是public class Main!!而且该题中最后一次输出后没有“\n",虽然显示时好像没有什么区别,但如果不少掉那个"\n"就不能ac

//Author:ZJQ
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
    int n,i,j,m,count1[1000];
    string str;
    vector<string>a;
    while(cin>>n&&n!=0)
    {
        for(m=0;m<n;m++)
        {
            count1[m]=0;
        }
        for(i=0;i<n;i++)
        {
            cin>>str;
            a.push_back(str);
            for(j=0;j<i+1;j++)
            {
                if(a[j]==str)
                {
                    count1[j]++;
                }
            }
        }
        int max1=0,max2=0;
        for(i=0;i<a.size();i++)
        {
            if(count1[i]>=max1)
            {
                max1=count1[i];
                max2=i;
            }
        }
        cout<<a[max2]<<endl;
        a.clear();
    }
}


C++的容器十分灵活!!但是注意还是不能陷入死循环,并且每次输出后一定要将容器clear!!

猜你喜欢

转载自blog.csdn.net/qq_41641805/article/details/82316381