山科oj题库2301--2500

2301

#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main()
{
    char nums[6];
    while(scanf("%s",nums)!=EOF)
    {
        int fl=1;
        for(int i=4; i>=0; i--)
            if(!isalpha(nums[i]))
            {
                nums[4]=nums[i];
                fl=0;
                break;
           }
        if(fl==1)
            nums[4]=48;
        nums[4]-=48;
        int flag;
        flag=nums[4]%5;
        if(flag==0)
            flag+=5;
        for(int i=1; i<=6; i++)
        {
            if(i!=flag)
                printf("%d ",i);
        }
        printf("7\n");
    }
}


2302

#include<stdio.h>
void prf(int n)
{
    int i,j;
    for(i=1;i<=n-1;i++)
    {
        for(j=1;j<=i-1;j++)
            printf("@ ");
        for(j=n-i;j>0;j--)
            printf("@@");
        printf("@@@");
        for(j=n-i;j>0;j--)
            printf("@@");
        for(j=1;j<=i-1;j++)
            printf(" @");
        printf("\n");
        for(j=1;j<=i;j++)
            printf("@ ");
        for(j=n-i-1;j>0;j--)
            printf("  ");
        printf("   ");
        for(j=n-i-1;j>0;j--)
            printf("  ");
        for(j=1;j<=i;j++)
            printf(" @");
        printf("\n");
 
    }
}
void prs(int n)
{
    int j;
    for(j=1;j<=n-1;j++)
        printf("@ ");
    printf("@@@");
    for(j=1;j<=n-1;j++)
        printf(" @");
    printf("\n");
    for(j=1;j<=2*n-1;j++)
        printf("@ ");
    printf("@\n");
    for(j=1;j<=n-1;j++)
        printf("@ ");
    printf("@@@");
    for(j=1;j<=n-1;j++)
        printf(" @");
    printf("\n");
}
void prt(int n)
{
    int i,j;
    for(i=n-1;i>0;i--)
    {
 
        for(j=1;j<=i;j++)
            printf("@ ");
        for(j=n-i-1;j>0;j--)
            printf("  ");
        printf("   ");
        for(j=n-i-1;j>0;j--)
            printf("  ");
        for(j=1;j<=i;j++)
            printf(" @");
        printf("\n");
        for(j=1;j<=i-1;j++)
            printf("@ ");
        for(j=n-i;j>0;j--)
            printf("@@");
        printf("@@@");
        for(j=n-i;j>0;j--)
            printf("@@");
        for(j=1;j<=i-1;j++)
            printf(" @");
        printf("\n");
    }
}
 
int main()
{
    int n;
    scanf("%d",&n);
    prf(n);
    prs(n);
    prt(n);
    return 0;
}


2303

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <math.h>

int maxf(int m)
{
    if (m<=100)
        return 542;
    else if (m<=1000)
        return 7920;
    else if (m<=10000)
        return 104730;
    else if (m<=100000)
        return 1299710;
    else
        return 10000000;
}

int main()
{
    int i, j, k, t, max, m;
    int sta[105];
    int* a, *b;

    a=(int*)malloc(sizeof(int)*10000000);
    b=(int*)malloc(sizeof(int)*700000);
    memset(a, 0, sizeof(a));
    a[0]=1;
    a[1]=1;

    k=0;
    m=0;
    while (scanf("%d", &t)==1) {
        sta[k++]=t;
        if (t>m)
            m=t;
    }


    max=maxf(m);

    for (i=2; i<=(int)sqrt(max)+1; i++) {
        if (a[i])
            continue;
        for (j=i*2; j<=max; j+=i)
            a[j]=1;
    }
    for (i=2, j=1; i<=max; i++) {
        if (!a[i]) {
            b[j++]=i;
        }
    }






    for (i=0; i<k; i++)
        printf("%d\n", b[sta[i]]);

 





    return 0;
}




2410

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <math.h>

int main()
{
    double a, b;

    while(scanf("%lf%lf", &a, &b)==2)
    printf("%.4lf%%\n", b/a*100);

    return 0;
}


2411

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(){
    char ch;
    while(scanf("%c",&ch)!=EOF){
        if(ch>='A' && ch<='Z'){
            printf("%d\n",ch-'A'+1);
        }
        else if(ch>='a' && ch<='z'){
            printf("%d\n",ch-'a'+1);
        }
    }
    return 0;
}


2412

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

int main()
{
    double p,w,m;
    scanf("%lf%lf%lf",&p,&w,&m);
    if(m<=500)
        printf("%.2lf",p*m*w);
    else if(m>500&&m<=1000)
        printf("%.2lf",p*500*w+p*(m-500)*w*0.95);
    else if(m>1000&&m<=2000)
        printf("%.2lf",p*w*975+p*(m-1000)*w*0.9);
    else if(m>2000)
        printf("%.2lf",p*w*1875+p*w*(m-2000)*0.88);
}



2413

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main(){
    int n;
    int num[110];
    int i=0;
    scanf("%d",&n);
    for(i=0;i<n;++i){
        scanf("%d",&num[i]);
    }
    for(i=n-1;i>=0;--i){
        printf("%d",num[i]);
        if(i!=0){
            printf(" ");
        }
    }
    return 0;
}


2414

#include <stdio.h>

int main()
{
    int n=0, i;
    char ar[101][101];
    while(gets(ar[n]) != NULL)
        n++;
    for(i=n-1; i>=0; i--)
        puts(ar[i]);
}


2415

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <math.h>


int getf(void)
{
    int getf(void);
    char ch[105];

    if (gets(ch)==NULL)
        return 0;
    else
        getf();

    printf("%s\n", ch);

}

int main()
{

    getf();




    return 0;
}



2416

#include <stdio.h>
#include <stdlib.h>
int print(int m, int n)
{
	int i,j;
	for(i=1;i<=m;i++)
	{
		for(j=1;j<=n;j++)
		{
			if(i==1||i==m)
			printf("*");
			else
			{
				if(j==1||j==n)
				printf("*");
				else
				printf(" ");
			}
		} 
		printf("\n");
	}
}


int main()
{
    int m, n;
    scanf("%d%d", &m, &n);
    print(m, n);
}



2417

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int  b[105];
int get_array(int a[], int n)
{
    int i;
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
}
int shift_array(int a[], int n)
{
    int i;
    for(i=1;i<n;i++)
        b[i]=a[i];
       b[n]=a[0];
        for(i=1;i<=n;i++)
        a[i-1]=b[i];
}
int put_array(int a[], int n)
{
    int i;
for(i=0;i<n;i++)
    if(i==n-1)
    printf("%d",a[n-1]);
 else
    printf("%d ",a[i]);
}

int main()
{
    int n, a[100];
    scanf("%d", &n);
    get_array(a, n);
    shift_array(a, n);
    put_array(a, n);
    return 0;
}



2418

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define MAX_STR_LEN 101
char* str_alcpy(char *t, char *s)
{
    int i=0,j=0;
    while(s[i]!=0)
    {
        if(isalpha(s[i]))
        {
            t[j]=s[i];
            j++;
        }
        i++;
    }
    t[j]=0;
    return t;
}

int main()
{
    char str[MAX_STR_LEN], s[MAX_STR_LEN], *p;
    while(gets(str) != NULL)
    {
        p = str_alcpy(s, str);
        puts(p);
        puts(s);
    }
}



2419

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define MAX_STR_LEN 101
struct date
{
    int y;
    int m;
    int d;
};
struct date get_maxdate()
{
    struct date d,ld;
    scanf("%d-%d-%d",&d.y,&d.m,&d.d);
    ld=d;
    while(scanf("%d-%d-%d",&d.y,&d.m,&d.d)!=EOF)
    {
        if((ld.y<d.y)||(ld.y==d.y&&ld.m<d.m)||(ld.y==d.y&&ld.m==d.m&&ld.d<d.d))
            ld=d;
    }
    return ld;
}

int main()
{
    struct date d;
    d = get_maxdate();
    printf("%04d-%02d-%02d\n", d.y, d.m, d.d);
}


2420

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#define MAX_STR_LEN 101
int main()
{
    unsigned long long k;
    while(scanf("%llu",&k)!=EOF)
    {
        if(k%2==0)
            printf("%llu\n",k/2*(k+1));
        else
            printf("%llu\n",(k+1)/2*k);
    }

}




2421

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <math.h>

int main()
{
    long long a[20];
    int i;
    long long max, min;

    for (i=0; i<15; i++)
        scanf("%lld", &a[i]);

    max=min=a[0];
    for (i=0; i<15; i++) {
        if (a[i]>max)
            max=a[i];
        if (a[i]<min)
            min=a[i];
    }

    for (i=0; i<15; i++) {
        if (a[i]==max)
            a[i]=min;
    }

    max=a[0];
    for (i=0; i<15; i++) {
        if (a[i]>max)
            max=a[i];
    }

    printf("%lld\n", max);
    return 0;
}



2422

#include <stdio.h>
#include <stdlib.h>
int chu5(int i)
{
    int n=0;
    while (i%5==0) 
	{
        n++;
        i/=5;
    }
    return n;
}
int main()
{
	int i,n;
    unsigned long long num5;

    while (scanf("%d", &n)!=EOF) 
	{
        num5=0;
        for (i=1; i<=n; i++) 
		{
            if (i%5==0) 
			{
                num5+=chu5(i);
            }
        }
        printf("%llu\n", num5);
    }
    return 0;
}


2423

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <math.h>
int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int judge(int y)
{
    if((y%4==0&&y%100!=0)||y%400==0)
        return 1;
    else
        return 0;
}
int date_is(int y,int m)
{
    y--;
    int all,sum=0,i;
    for(i=1;i<m;i++)
        sum+=month[i];
    all=365*(y-1899)+(y/4-y/100+y/400-460)+sum+1;
    return all%7;
}
void output(int m,int d)
{
    int i;
    printf("Sun Mon Tue Wen Thu Fri Sat\n");
    for(i=0;i<4*d-1;i++)
        putchar(' ');
    for(i=1;i<=month[m];i++)
    {
        if(d%7!=0)
            printf("%4d",i);
        else if(d%7==0&&d!=0)
            printf("\n%3d",i);
        else
            printf("%3d",i);
        d++;
    }
    printf("\n");
}
int main()
{
    int y,m,d;
    int flag=0;
    while(scanf("%d%d",&y,&m)!=EOF)
    {
        if(flag)
            printf("\n");
        if(judge(y))
            month[2]=29;
        else
            month[2]=28;
        d=date_is(y,m);
        output(m,d);
        flag=1;
    }
}


2424

#include <stdio.h>
#include <stdlib.h>
int main()
{
    char str[110];
    gets(str);
    printf("%s\n",str);
	printf("%s\n",str);
	printf("%s",str);
    return 0;
}



  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值