训练计划,水题

http://poj.org/problem?id=2017

#include <iostream>

using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    int n;
    while(cin>>n && n != -1)
    {
        int s, t;
        int sum = 0;
        cin>>s>>t;
        n--;
        sum += s * t;
        while(n--)
        {
            int t2;
            cin>>s>>t2;
            sum += (t2-t) * s;
            t = t2;
        }
        cout << sum << " miles" <<endl;
    }
}
http://poj.org/problem?id=1218

#include <stdio.h>

using namespace std;

int main()
{
    int n,m,i,j,x=0,k=0,str[1024];
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        k=0;
        scanf("%d",&m);
        for(int t=1; t<=m; t++)
        {
            x=0;
            for(j=1; j<=t; j++)
            {
                if(t%j==0)
                {
                    x++;
                }
            }
            if((x%2)!=0)
            {
                k++;
            }
        }
        str[i]=k;
    }
    for(i=1; i<=n; i++)
    {
        printf("%d\n",str[i]);
    }
}
h ttp://poj.org/problem?id=2000

#include <stdio.h>

using namespace std;

int main()
{
	int n;
	while(~(scanf("%d", &n)))
	{
		if(n == 0)break;
		else
		{
			int sum=0;
			int i;
			for(i=1;i<=150;i++)
			{
				sum+=i*i;
				if(((i+1)*i)/2 >= n)
				break;
			}
			sum=sum-(((i+1)*i)/2-n)*i;
			printf("%d %d\n", n, sum);
		}
	}
}

http://poj.org/problem?id=1046

#include<stdio.h>
#include<math.h>

int main()
{
    int a[26],b[26],c[26],d,i,x,y,m,z,min;
    for(i=1; i<=16; i++)
    {
        scanf("%d%d%d",&a[i],&b[i],&c[i]);
    }
    while(scanf("%d%d%d",&x,&y,&z)!=EOF)
    {
        if(x==-1 && y==-1 && z==-1)
            break;
        min=1<<30;
        for(i=1; i<=16; i++)
        {
            d=(int)((a[i]-x)*(a[i]-x)+(b[i]-y)*(b[i]-y)+(c[i]-z)*(c[i]-z));
            if(d<min)
            {
                m=i;
                min=d;
            }
        }
        printf("(%d,%d,%d) maps to (%d,%d,%d)\n",x,y,z,a[m],b[m],c[m]);
    }
}
http://poj.org/problem?id=1003

#include <stdio.h>

int main()
{
	double sr,count;
	int js,i;
	while(scanf("%lf",&sr)!=EOF)
	{
		js=1;
		count=0;
		if(sr==0.00)
		{
			break;
		}
		for(i=2;i<300;i++)
		{
			if(sr>(count+1.0/i))
			{
			count=count+(1.0/i);
			js++;
			}
			else
			{
				break;
			}
		}
		
		printf("%d card(s)\n",js);
	}
}
http://poj.org/problem?id=1004

#include<cstdio>
#include<cstring>

int main()
{
    double m;
    while(scanf("%lf",&m)!=EOF)
    {
	double ans=m;
	for(int i=1;i<12;i++)
	{
	    scanf("%lf",&m);
	    ans+=m;
	}
	printf("$%.2lf\n",ans/12);
    }
}
http://poj.org/problem?id=1005

#include<cstdio>
#include<cstring>

int main()
{
    int T,cas=1;
    scanf("%d",&T);
    while(T--)
    {
	double ita,itb;
	scanf("%lf%lf",&ita,&itb);
	double s=(ita*ita+itb*itb)*3.14/2;
	int ans=(int)(s/50)+1;
	printf("Property %d: This property will begin eroding in year %d.\n",cas++,ans);
    }
    printf("END OF OUTPUT.\n");
}

http://poj.org/problem?id=1008

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

int main()
{
    char str1[19][7]= { "pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet" };
    char str2[20][9]= { "imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau" };
    int day, year, days, mon, i, t;
    char month[9];
    scanf("%d", &t);
    printf("%d\n", t);
    while (t--)
    {
        scanf("%d. %s %d", &day, month, &year);
        for (i= 0; i < 19; i++)
        {
            if ( !strcmp(month, str1[i]) )
            {
                break;
            }
        }
        days= year*365 + i*20 + day;
        year= days/260;
        mon= (days%260)%20;
        day= (days%260)%13;
        printf("%d %s %d\n", day+1, str2[mon], year);
    }
}
http://poj.org/problem?id=1013

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

char str1[10],str2[10],str3[10];
int mark[15],num[15];

int main()
{
    int cas,v,i,j,max;
    scanf("%d",&cas);
    while(cas--)
    {
        v=3;
        for(i=0; i<12; i++)
        {
            mark[i]=num[i]=0;
        }
        while(v--)
        {
            scanf("%s%s%s",str1,str2,str3);
            if(!strcmp(str3,"even"))
            {
                for(i=0; i<strlen(str1); i++)
                {
                    mark[str1[i]-'A']=mark[str2[i]-'A']=1;
                }
            }
            else if(!strcmp(str3,"up"))
            {
                for(i=0; i<strlen(str1); i++)
                {
                    num[str1[i]-'A']++;
                    num[str2[i]-'A']--;
                }
            }
            else
            {
                for(i=0; i<strlen(str1); i++)
                {
                    num[str1[i]-'A']--;
                    num[str2[i]-'A']++;
                }
            }
        }
        max=-1;
        j=0;
        for(i=0; i<12; i++)
        {
            if(!mark[i] && max<abs(num[i]))
            {
                max=abs(num[i]);
                j=i;
            }
        }
        if(num[j]<0)
        {
            printf("%c is the counterfeit coin and it is light.\n",j+'A');
        }
        else
        {
            printf("%c is the counterfeit coin and it is heavy.\n",j+'A');
        }
    }
}
http://poj.org/problem?id=1207

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


int main()
{
    int i,j,m,n,k,max;
    int p,q;
    while(scanf("%d%d",&p,&q)==2)
    {
        max=0;
        i=p;
        j=q;
        if(p>q)
        {
            j=p;
            i=q;
        }
        for(m=i; m<=j; m++)
        {
            k=m;
            n=1;
            while(k!=1)
            {
                if(k%2)
                    k=3*k+1;
                else k=k/2;
                n++;
            }
            if(n>max) max=n;
        }
        printf("%d %d %d\n",p,q,max);
    }
}
http://poj.org/problem?id=1552

#include <stdio.h>

int main()
{
    int array[1005];
    int i,j,k;
    int n;
    while(1)
    {
        scanf("%d",&array[1]);
        if(array[1] == -1) break;
        for(n = 2; ; n++)
        {
            scanf("%d",&array[n]);
            if(array[n] == 0) break;
        }
        int ans = 0;
        for(i = 1; i < n; i++)
        {
            for(j = 1; j < n; j++)
                if(array[j]*2 == array[i])
                {
                    ans++;
                    break;
                }
        }
        printf("%d\n",ans);
    }
}
http://poj.org/problem?id=2105     裸位运算

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

using namespace std;

int main()
{
    char buff[20000];
    int temp[5];
    int n;
    unsigned ip;
    scanf("%d",&n);
    while (n--)
    {
        ip=0;
        scanf("%s",buff);
        for (int i=0; i<32; ++i)
        {
            (ip<<=1)|=(buff[i]-'0');
        }
        for (int i=1; i<=4; ++i)
        {
            temp[i] = ip & ((1 << 8) - 1);
            ip >>= 8;
        }
        for (int i=4; i>=1; --i)
        {
            printf(i==1?"%d\n":"%d.",temp[i]);
        }
    }
}
http://poj.org/problem?id=2388

#include<stdio.h>
#include<iostream>
#include<algorithm>

using namespace std;

int main()
{
    int a[10010];
    int i,n;
    scanf("%d",&n);
    for (i=0; i<n; i++)
    {
        scanf("%d",&a[i]);
    }
    sort(a,a+n);
    printf("%d\n",a[(n-1)/2]);
}
http://poj.org/problem?id=1316 

#include<stdio.h>

int main()
{
    int a[10001]= {0};
    int i, b, c;
    for(i=0; i<10001; i++)
    {
        b=i;
        c=i;
        while (b)
        {
            c+=b%10;
            b/=10;
        }
        if(c<=10000)
        {
            a[c]=1;
        }
    }
    for(i=0; i<10001; i++)
    {
        if(a[i]!=1)
        {
            printf("%d\n",i);
        }
    }
}
http://poj.org/problem?id=3006

#include <stdio.h>
#include <math.h>

int prime(int x)
{
    int i, j;
    j = sqrt(x);
    if (x < 2)
    {
        return 0;
    }
    else if (x == 2)
    {
        return 1;
    }
    for (i = 2; i <= j; i++)
    {
        if (x % i == 0)
        {
            return 0;
        }
    }
    return 1;
}

int main()
{
    int a, d, n, m, i, count;
    while (scanf("%d %d %d", &a, &d, &n) != EOF)
    {
        if (a == 0 && d == 0 && n == 0)
        {
            break;
        }
        count = 0;
        for (i = 0; count != n; i++)
        {
            m = a + i * d;
            if (prime(m))
            {
                count++;
            }
        }
        printf("%d\n", m);
    }
}


水题没意思,换C语言风格为C语言期末考试,别忘了scanf和printf的用法。

自今天起到期末(7.11)止,不再开电脑,不再敲代码。目标:高数95+,线代95+,C语言90+,英语85+,大物85+。再开电脑就剁手!!!








  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值