杭电OJ(HDOJ)水题之2000——2011、2039

15 篇文章 3 订阅
11 篇文章 1 订阅

2000

#include <stdio.h>
 int main()
 {
 char a,b,c,d,x,y,z;
 	  while(scanf("%c%c%c%c",&a,&b,&c,&d) != EOF)
       {
         x=a<b?a:b;	
         x=x<c?x:c;
         z=a>b?a:b;
         z=z>c?z:c;
         y=a+b+c-x-z;
         printf("%c %c %c\n",x,y,z);
       }
 }

2001

#include <stdio.h>
#include <math.h>
 int main()
 {
 	double a,b,c,d;
 	double x;
 	while(scanf("%lf %lf %lf %lf",&a,&b,&c,&d)!= EOF){
 		x=sqrt((double)(pow(d-b,2)+pow(c-a,2)));
 		printf("%.2lf\n",x);
	 }
 	return 0;
 }

2002

#include<stdio.h>
#define PI 3.1415927
int main() {
    double a;
    while(scanf("%lf",&a)!=EOF) 
    printf("%.3lf\n",(double)4/3*PI*a*a*a); 
    return 0;
}

2003

#include <stdio.h>  
int main(void)  
{  
    double x;  
    while(scanf("%lf", &x) != EOF)  
    {  
        if(x > 0)  
            printf("%.2lf\n", x);  
        else  
            printf("%.2lf\n", -x);  
    }  
    return 0;  
} 

2004

#include <stdio.h>  
int main(void)  
{  
  	int a;
  	while(scanf("%d",&a)!=EOF){
  		if(a>=90&&a<=100)
  			printf("A\n");
  		if(a>=80&&a<=89)
  			printf("B\n");
  		if(a>=70&&a<=79)
  			printf("C\n");
  		if(a>=60&&a<=69)
  			printf("D\n");
  		if(a>=0&&a<=59)
  			printf("E\n");
  		if(a<0||a>100)
  			printf("Score is error!\n");
	} 
    return 0;  
}  

2005

地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年(tropical year)。公历的平年只有365日,比回归年短约0.2422 日,所余下的时间约为每四年累计一天,故第四年于2月末加1天,使当年的历年长度为366日,这一年就为闰年。现行公历中每400年有97个闰年。按照每四年一个闰年计算,平均每年就要多算出0.0078天,这样经过四百年就会多算出大约3天来。因此每四百年中要减少三个闰年。所以公历规定:年份是整百数时,必须是400的倍数才是闰年;不是400的倍数的世纪年,即使是4的倍数也不是闰年。

这就是通常所说的:四年一闰,百年不闰,四百年再闰。 例如,2000年是闰年,2100年则是平年。

#include <stdio.h>
int main()
{
    int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    int b[12]={31,29,31,30,31,30,31,31,30,31,30,31};
    int m,n,p;
    int t=0;
    int i,j;
    while(scanf("%d/%d/%d",&m,&n,&p)!=EOF)
    {   
        t=0;

        if ((m % 4 == 0 && m % 100) || m % 400 == 0)
        {
           if (n==1)
             printf ("%d\n",p);
           else{   
           for (i=0;i<n-1;i++)
             t=t+b[i];
           t=t+p; 
           printf ("%d\n",t);}
        }
        else 
        {
           if (n==1)
             printf ("%d\n",p);
           else{  
           for (i=0;i<n-1;i++)
             t=t+a[i];
           t=t+p;
           printf ("%d\n",t);}  
        }
    }
    return 0;
}

2006

#include <stdio.h>
int main()
{
	int n, a, sum, i;
	while(scanf("%d", &n) != EOF)
	{
		sum = 1;
		for(i = 0; i < n; i ++)
		{
			scanf("%d", &a);
			if(a%2==1)
			sum = sum * a;
		}
		printf("%d\n", sum);
	}
	return 0;
}

2007

在这里插入图片描述
这一句话要看懂,不然不知道题目什么意思,也就是两个数之间的所有数。并且自己要按大小排序。

#include <stdio.h>
int main()
{
    int i,a,b,n,m,t;
    while(scanf ("%d %d",&a,&b)!=EOF)
    {
        m=n=0;
        if (a>b)
        {
            t=a;
            a=b;
            b=t;
        }
        for (i=a;i<=b;i++)
        {
            if (i%2==0)
            {
                m=m+i*i;
            }
            else
            {
                n=n+i*i*i;
            }
        }
        printf("%d %d\n",m,n);
    }
    return 0;
}

2008

#include <stdio.h>
int main()
{
	int n, i;
	double a;
	int sum1,sum2,sum3;
	while(scanf("%d", &n) != EOF)
	{
		sum1=sum2=sum3=0;
		for(i = 0; i < n; i ++)
		{
			scanf("%lf", &a);
			if(a<0)
			sum1++;
			if(a==0)
			sum2++;
			if(a>0) 
			sum3++;
		}
		if(n!=0)
            printf("%d %d %d\n",sum1,sum2,sum3);
        else
            break;
	}
	return 0;
}

2009

#include <stdio.h>
#include <math.h>
int main()
{
	int m,i;
	double n,sum;
	while(scanf("%lf", &n) != EOF){
		sum=n;
		scanf("%d", &m);
		for(i=0;i<m-1;i++){
			sum=sum+sqrt(n);
			n=sqrt(n);
		}
		printf ("%.2lf\n",sum);  
	}
}

2010

这个格式问题弄了我半个小时,实际上就是用好那个g的标志位。

#include <stdio.h>
int main()
{
    int i,a,b,n,m,t,k,g;
    while(scanf ("%d %d",&a,&b)!=EOF)
    {
        if (a>b)
        {
            t=a;
            a=b;
            b=t;
        }
        g=0;
        for (i=a;i<=b;i++)
        {
        	m=i/100;
        	n=(i/10)%10;
        	k=i%10;
            if (i==m*m*m+n*n*n+k*k*k)
            {
            	if(g==0)
                printf("%d",i);
                if(g!=0)
                printf(" %d",i);
                g++;
            }
        }
        if(g>=1)
        printf("\n");
        if(g==0)
            printf("no\n");
    }
    return 0;
}

2011

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main()
{
    int m, n, i;
    double sum ,s= 1;
    while(scanf("%d",&m)!=EOF){
        while(m--){
            sum =0;
            scanf("%d",&n);
            for(i=1; i<=n; i++)
                sum+= s/i * pow(-1, i-1);
            printf("%.2lf\n",sum);
        }
    }
    return 0;
}

2039

#include<stdio.h>
int main()
{
	int n,j;
	double a,b,c;
	scanf("%d",&n);
	while(n--)
	{
		scanf("%lf%lf%lf",&a,&b,&c);
		if(a+b>c&&a+c>b&&b+c>a)
		printf("YES\n");
		else
		printf("NO\n");
	}
	return 0;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
杭电oj是杭州电子科技大学开发的一个在线评测系统,主要用于计算机考研的教育辅助工具。对于计算机考研的学生来说,杭电oj提供了一个良好的平台,可以进行编程练习和算法训练,帮助学生提升编程能力和算法平。 首先,杭电oj上有大量的目库,涵盖了计算机考研的各个方面,比如数据结构、算法设计、数据库等,学生可以根据自己的需要选择相应的目进行练习。目难度分级明确,从简单到困难,适合不同平的学生进行练习。通过解训练,学生可以熟悉各类算法思想和程序设计方法,提高解能力。 其次,杭电oj提供了在线评测系统,可以帮助学生及时了解自己的编程能力和代码平。在解答目后,杭电oj会自动评判答案的正确性和效率,以及输出格式是否正确。学生可以根据评测结果对自己的代码进行优化和改进,提高编程的正确性和效率。 此外,杭电oj还提供了讨论区功能,学生可以与其他考研学生进行交流和讨论。在讨论区里,学生可以提问、回答问,分享解思路和经验,相互学习和进步。通过互助学习,学生可以更好地理解和掌握各类算法和编程知识,提高解的能力和效率。 总的来说,杭电oj对于计算机考研的学生是一个非常有用的教育辅助工具,它提供了库、评测系统和讨论区,能够帮助学生提升编程能力和算法平,提高解能力和效率。对于计算机考研的学生来说,积极利用杭电oj进行练习和学习,能够有效地提高自己的竞争力和通过考研的概率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式Linux系统开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值