杭電2020-2029題解

杭電2020-2029題解

大一實在是太閒了, 刷的杭電OJ, 因爲當時只學了C, 所有題解都是C

杭電acm2020

# include <stdio.h>
int main ()
{
	int n,i,j,t;
	int a[100],b[100];
	while (~scanf ("%d",&n),n!=0)
	{
		for (i=0;i<n;i++)
		{
			scanf ("%d",&a[i]);
			b[i]=a[i]>0?a[i]:-a[i];
			for (j=i;j>0;j--)
			{
				if (b[j]>b[j-1])
				{
					t=b[j];
					b[j]=b[j-1];
					b[j-1]=t;
					t=a[j];
					a[j]=a[j-1];
					a[j-1]=t;
				}
			}
		}
		for (i=0;i<n-1;i++)
		{
			printf ("%d ",a[i]);
		}
		printf ("%d\n",a[n-1]);
	}
	return 0;
}

杭電acm2021

# include <stdio.h>
int main ()
{
	int n,i,s,x;
	while (~scanf ("%d",&n),n!=0)
	{
		s=0;
		for (i=0;i<n;i++)
		{
			scanf ("%d",&x);
			s=s+x/100+x%100/50+x%50/10+x%10/5+x%5/2+x%5%2;
		}
		printf ("%d\n",s);
	}
	return 0;
}

杭電acm2022

# include <stdio.h>
int main ()
{
	int m,n,x,y,i,j;
	int a[100][100],b[100][100];
	while (~scanf ("%d%d",&m,&n))
	{
		for (i=0;i<m;i++)
		{
			for (j=0;j<n;j++)
			{
				scanf ("%d",&a[i][j]);
				b[i][j]=a[i][j]>0?a[i][j]:-a[i][j];
			}
		}
		for (i=0,x=0,y=0;i<m;i++)
		{
			for (j=0;j<n;j++)
			{
				if (b[x][y]<b[i][j])
				{
					x=i;
					y=j;
				}
			}
		}
		printf ("%d %d %d\n",x+1,y+1,a[x][y]);
	}
	return 0;
}

杭電acm2023

# include <stdio.h>
int main ()
{
    int m,n,i,j,x,s;
    int a[50][5];
    double sum,c[5];
    while (scanf ("%d%d",&n,&m)!=EOF)
    {
            for (i=0;i<n;i++)
            {
                for (j=0;j<m;j++)
                {
                    scanf ("%d",&a[i][j]);
                }
            }
            for (i=0;i<n;i++)
            {
                for (j=0,sum=0;j<m;j++)
                {
                    sum=sum+a[i][j];
                }
                printf ("%.2f",sum*1.0/m);
                if (i!=n-1)
                {
                    printf (" ");
                }
            }
            printf ("\n");
            for (j=0;j<m;j++)
            {
                for (i=0,sum=0;i<n;i++)
                {
                    sum=sum+a[i][j];
                }
                c[j]=sum*1.0/n;
                printf ("%.2f",c[j]);
                if (j!=m-1)
                {
                    printf (" ");
                }
            }
            printf ("\n");
            for (i=0,s=0;i<n;i++)
            {
                x=1;
                for (j=0;j<m;j++)
                {
                    if (a[i][j]<c[j])
                    {
                        x=0;
                        break;
                    }
                }
                if (x==1)
                {
                    s++;
                }
            }
            printf ("%d\n\n",s);
    }
    return 0;
}

杭電acm2024

#include<stdio.h>
#include<string.h> 
int main()
{
    char str[60];
    int i,n,len,t=0;
    while(~scanf("%d",&n))
    {
        getchar();
        while(n--)
        {
            t=0;
            gets(str);
            if((str[0]>='A'&&str[0]<='Z')||(str[0]>='a'&&str[0]<='z')||(str[0]=='_'))
            {
                len=strlen(str);
            for(i=1;i<=len-1;i++)
            {
                if((str[i]>='A'&&str[i]<='Z')||(str[i]>='a'&&str[i]<='z')||(str[i]=='_')||(str[i]>='0'&&str[i]<='9')){
                    t=0;
                }
                else {
                    t=1;
                    break;
                }
            }
            }
            else{
            t=1;
             }
            if(t==0) printf("yes\n");
            else  printf("no\n");
        }
    }
    return 0;
}

杭電acm2025

# include <stdio.h>
int main ()
{
    int i;
    char a[100],k;
    while (~scanf ("%s",a))
    {
        k=a[0];
        for (i=1;a[i]!='\0';i++)
        {
            if (k<a[i])
            {
                k=a[i];
            }
        }
        for (i=0;a[i]!='\0';i++)
        {
            printf ("%c",a[i]);
            if (a[i]==k)
            {
                printf ("(max)");
            }
        }
        printf ("\n");
    }
    return 0;
}

杭電acm2026

# include <stdio.h>
# include <string.h>
int main ()
{
    int i,s;
    char a[100];
    while (gets (a))
    {
        s=strlen (a);
        printf ("%c",a[0]-32);
        for (i=1;i<s;i++)
        {
            if (a[i-1]==' ')
            {
                a[i]=a[i]-32;
            }
            printf ("%c",a[i]);
        }
        printf ("\n");
    }
    return 0;
}

杭電acm2027

# include <stdio.h>
# include <string.h>
int main ()
{
    int n,i,j,s;
    char str[100];
    int a,e,k,o,u;
    while (~scanf ("%d",&n))
    {
        getchar ();
        for (i=0;i<n;i++)
        {
            a=e=k=o=u=0;
            gets (str);
            s=strlen (str);
            for (j=0;j<s;j++)
            {
                switch (str[j])
                {
                    case 'a':a++;break;
                    case 'e':e++;break;
                    case 'i':k++;break;
                    case 'o':o++;break;
                    case 'u':u++;break;
                }
            }
            printf ("a:%d\ne:%d\ni:%d\no:%d\nu:%d\n",a,e,k,o,u);
            if (i!=n-1)
            {
                printf ("\n");
            }
        }
    }
    return 0;
}

杭電acm2028

# include <stdio.h>
int main ()
{
    int n,i;
    double s,k,y;
    int a[100];
    while (~scanf ("%d",&n))
    {
        for (i=0;i<n;i++)
        {
            scanf ("%d",&a[i]);
        }
        s=a[0];
        for (i=1;i<n;i++)
        {
            k=s;
            y=a[i];
            while (1)
            {
                if (k==y)
                {
                    break;
                }
                else if (k>y)
                {
                    k=k-y;
                }
                else
                {
                    y=y-k;
                }
            }
            s=s*a[i]/k;
        }
        printf ("%.0f\n",s);
    }
    return 0;
}

杭電acm2029

# include <stdio.h>
# include <string.h>
int main ()
{
    int n,i,j,x,s;
    char a[100];
    while (~scanf ("%d",&n))
    {
        getchar ();
        for (i=0;i<n;i++)
        {
            gets (a);
            s=strlen (a);
            x=0;
            for (j=0;j<s/2;j++)
            {
                if (a[s-j-1]!=a[j])
                {
                    x=1;
                    break;
                }
            }
            if (x==1)
            {
                printf ("no\n");
            }
            else
            {
                printf ("yes\n");
            }
        }
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章