杭电oj百题AC代码(p2000-p2019)

p2000

#include <iostream>
using namespace std;
int main()
{
    char a[3];
    while (cin >> a)
    {
        for (int i = 0; i < 2; i ++)
        {
            for (int j = i; j < 3; j ++)
            {
                if (a[i] > a[j])
                    swap(a[i], a[j]);
            }
        }
        printf("%c %c %c\n", a[0], a[1], a[2]);
    }

    return 0;
}

p2001

#include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    double x1, y1, x2, y2, distance;
    while (cin >> x1 >> y1 >> x2 >> y2)
    {
        distance = sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2));
        printf("%.2lf", distance);
    }

    return 0;
}

p2002

#include <iostream>
#include <cstdio>
using namespace std;
const double PI = 3.1415927;
int main()
{
    double r, v;
    while (cin >> r)
    {
        v = 4.0 / 3 * PI * r * r * r;
        printf("%.3lf\n", v);
    }

    return 0;
}

p2003

#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
    double x;
    while (cin >> x)
    {
        if (x < 0)
            x = -x;
        printf("%.2lf\n", x);
    }
    return 0;
}

p2004

#include <iostream>
using namespace std;
int main()
{
    int grade;
    while (cin >> grade)
    {
        if (grade < 0) cout << "Score is error!" << endl;
        else if (grade <60) cout << 'E' << endl;
        else if (grade < 70) cout << 'D' << endl;
        else if (grade < 80) cout << 'C' << endl;
        else if (grade < 90) cout << 'B' << endl;
        else if (grade <= 100) cout << 'A' << endl;
        else cout << "Score is error!" << endl;
    }

    return 0;
}

p2005

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int year, month, day;
    int month_day[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    while(scanf("%d/%d/%d", &year, &month, &day) != EOF)
    {
        int d = 0;
        for (int i = 1; i <month; i ++)
        {
            d += month_day[i];
        }
        d += day;
        if ((year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) && month >2)
            d++;
        cout << d << endl;
    }

    return 0;
}

p2006

#include <iostream>
using namespace std;
int main()
{
    int n;
    while (cin >> n)
    {
        int a[n], m = 1;
        for (int i = 0; i < n; i ++)
        {
            cin >> a[i];
        }
        for (int i = 0; i < n; i ++)
        {
            if (a[i] % 2 == 1) m *= a[i];
        }
        cout << m << endl;
    }

    return 0;
}

p2007

#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
    int m, n;
    while (scanf("%d %d", &m, &n) != EOF)
    {
        if (m > n) swap(m, n);
        long long  sum1 = 0, sum2 = 0;
        for (int i = m; i <= n; i ++)
        {
            if (i % 2 == 0) sum1 += i*i;
            else sum2 += i*i*i;
        }
        cout << sum1 << ' ' << sum2 << endl;
    }

    return 0;
}

p2008

#include <iostream>
using namespace std;
int main()
{
    int n;
    while (cin >> n, n)
    {
        double m[n];
        int a = 0, b = 0, c = 0;
        for (int i = 0; i < n; i ++)
            cin >> m[i];
        for (int i = 0; i < n; i ++)
        {
            if (m[i] < 0) a ++;
            else if (m[i] == 0) b ++;
            else c ++;
        }
        cout << a << ' ' << b << ' ' << c << endl;
    }
}

p2009

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
    int m, n;
    while (cin >> m >> n)
    {
        double a[n], sum = 0;
        a[0] = m;
        for (int i = 1; i < n; i ++)
        {
            a[i] = sqrt(a[i-1]);
        }
        for (int i = 0; i < n; i ++)
            sum += a[i];
        printf("%.2lf\n", sum);
    }

    return 0;
}

p2010

#include <iostream>
using namespace std;
int fun (int n)
{
    int a, b, c;
    int flag = 0;
    a = n % 10;
    b = (n / 10) % 10;
    c = n / 100;
    if (a*a*a + b*b*b + c*c*c == n) flag = 1;
    return flag;
}
int main()
{
    int m, n;
    while (cin >> m >> n)
    {
        int flag = 0;
        for (int i = m; i <= n; i ++)
        {
            if (fun(i))
            {
                if (flag == 0)
                {
                    cout << i;
                    flag = 1;
                }
                else
                {
                    cout << ' ' << i;
                }
            }
        }
        if (flag == 0) cout << "no" << endl;
        else cout << endl;
    }

    return 0;
}

p2011

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int m, n;
    cin >> m;
    while (m --)
    {
        cin >> n;
        double sum = 0;
        int k = 1;
        for (int i = 1; i <= n; i ++)
        {
            sum += k*1.0/i;
            k = -k;
        }
        printf("%.2lf\n", sum);

    }

    return 0;
}

p2012

#include <iostream>
using namespace std;
int isprime(int n)
{
    int flag = 1;
    if (n == 1) flag = 0;
    if (n == 2) flag = 1;
    else
    {
         for (int i = 2; i < n / 2 + 1; i ++)
        {
            if (n % i == 0) flag = 0;
        }
    }
    return flag;
}
int main()
{
    int x, y;
    while (cin >> x >> y, (x || y))
    {
        int flag = 1;
        for (int i = x; i <= y; i ++)
        {
            if(isprime(i*i + i + 41) == 0) flag = 0;
        }
        if (flag == 1) cout << "OK" << endl;
        else cout << "Sorry" << endl;
    }

    return 0;
}

p2013

#include <iostream>
using namespace std;
int main()
{
    int n;
    while (cin >> n)
    {
        int sum = 1;
        for (int i = 1; i < n; i ++)
        {
            sum = 2*(sum + 1);
        }
        cout << sum << endl;
    }

    return 0;
}

p2014

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int n;
    while (cin >> n)
    {
        int a[n];
        int min = 0, max = 0;
        for (int i = 0; i < n; i ++)
        {
            cin >> a[i];
        }
        for (int i = 0; i < n; i ++)
        {
            if (a[i] < a[min]) min = i;
            if (a[i] > a[max]) max = i;
        }
        double sum = 0;
        for (int i = 0; i < n; i ++)
        {
            sum += a[i];
        }
        sum = sum - a[min] - a[max];
        printf("%.2lf\n", sum/(n - 2));
    }

    return 0;
}

p2015

#include <iostream>
using namespace std;
int main()
{
    int n, m;
    while (cin >> n >> m)
    {
        int count = 0, sum = 0;
        for (int i = 2; i <= 2*n; i += 2)
        {
            sum += i;
            count = (count + 1) % m;
            if (count == 0)
            {
                if (i == 2 * n) cout << sum / m;
                else cout << sum / m << ' ';
                sum = 0;
            }
        }
        if (count != 0) cout << sum / count;
        cout << endl;
    }

    return 0;
}

p2016

#include <iostream>
using namespace std;
int main()
{
    int n;
    while (cin >> n, n)
    {
        int a[n];
        for (int i = 0; i < n; i ++)
        {
            cin >> a[i];
        }
        int min = 0;
        for (int i = 0; i < n; i ++)
        {
            if (a[i] < a[min]) min = i;
        }
        swap(a[0], a[min]);
        for (int i = 0; i < n; i ++)
        {
            if (i == n - 1) cout << a[i];
            else cout << a[i] << ' ';
        }
        cout << endl;
    }

    return 0;
}

p2017

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    while (n --)
    {
        string a;
        int count = 0;
        cin >> a;
        for (auto ch : a)
        {
            if (ch >= '0' && ch <= '9')
                count ++;
        }
        cout << count << endl;
    }

    return 0;
}

p2018

#include <iostream>
#include <cstdio>
using namespace std;
double fun(int n)
{
    if (n == 1) return 1;
    else if (n == 2) return 2;
    else if (n == 3) return 3;
    else return fun(n - 1) + fun(n - 3);
}
int main()
{
    int n;
    while (cin >> n, n)
    {
        cout << fun(n) << endl;    
    }
    return 0;
}

p2019

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    struct node 
    {
        int data;
        struct node *next;
    };
    int n, m;
    while (cin >> n >> m, (n || m))
    {
        struct node *head = NULL, *p, *q, *t;
        for (int i = 0; i < n; i ++)
        {
            p = (struct node *)malloc(sizeof(struct node));
            cin >> p->data;
            p->next = NULL;
            if (head == NULL) head = p;
            else q->next = p;

            q = p;
        }
        t = head;
        p = (struct node *)malloc(sizeof(struct node));
        p->data = m;
        p->next = NULL;
        for (int i = 0; i < n; i ++)
        {
            if (t->next->data > m)
            {
                p->next = t->next;
                t->next = p;
                break;
            }
            t = t->next;
        }
        t = head;
        while (t != NULL)
        {
            if (t->next != NULL)
                cout << t->data << ' ';
            else
                cout << t->data;
            t = t->next;
        }
        cout << endl;
    }

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值