杭电OJ刷题系列【二】

目录

2039.三角形

 1720.A+B Coming

1062.Text Reverse

2104.hide handkerchief

1064.Financial Management

2734.Quicksum

1170.Balloon Comes!

1197.Specialized Four-Digit Numbers

2629.Identity Card

总结


前言

上一篇在这里~

刷题顺序参照这个网页~    代码仅供参考

加油加油冲啊@_@*


2039.三角形

#include<iostream>
using namespace std;
int main()
{
    int M;
    while (cin >> M)
    {
        double A, B, C;
        for (int i = 0; i < M; i++)
        {
            cin >> A >> B >> C;
            if ( (A + B > C) && (A + C > B) && (B + C > A))//abs(A - B) < C && abs(B - C) < A && abs(A - C) < B &&
            {
                cout << "YES" << endl;
            }
            else
            {
                cout << "NO" << endl;
            }
        }

    }
}

 1720.A+B Coming

#include <iostream>
using namespace std;
int main()
{
    int a, b;
    while (cin >> hex >> a >> b)
    {
        cout << dec << a + b << endl;
    }
}

1062.Text Reverse

//这个是参照别人的写的,因为我到现在还没明白为什么要加一个getchar()...
#include<iostream>
#include<string>
using namespace std;
int main()//gets()、getchar()、getline()的用法
{
    int T;
    while (cin >> T)
    {
        getchar();
        string str;
        int len;
        int start, end;
        for (int i = 0; i < T; i++)
        {
            getline(cin, str);
            len = str.length();
            str[len] = ' ';
            start = 0;
            for (int j = 0; j < len + 1; j++)
            {
                if (str[j] == ' ')
                {
                    end = j - 1;
                    for (int n = end; n >= start; n--)
                        cout << str[n];
                    start = j + 1;
                    if (j != len)
                        cout << ' ';
                    else
                        cout << endl;
                }
            }
        }
    }
    return 0;
}

2104.hide handkerchief

#include<iostream>//辗转相除法
using namespace std;//判断两数互质,如果两个数有除了一之外的公因数则不能全部遍历
int main()
{
    int M, N;
    while (cin >> N >> M)
    {
        if ((N == -1) & (M == -1))
        {
            return 0;
        }
        else
        {
            while (N % M != 0)
            {
                int r;
                r = N % M;
                N = M;
                M = r;
            }
            if (M == 1)
            {
                cout << "YES" << endl;
            }
            else
            {
                cout << "POOR Haha" << endl;
            }
        }
    }
}

1064.Financial Management

#include<iostream>
using namespace std;
int main()
{
    float num;
    float sum = 0;
    for (int i = 0; i < 12; i++)
    {
        cin >> num;
        sum = sum + num;
    }
    cout << '$' << sum / 12 << endl;
}

2734.Quicksum

//注意在VS里会出现gets()报错的情况,换成gets_s()就可以了,具体原因自行百度~
#include<iostream>
#include<cstring>
#include <cstdio>
using namespace std;
int main()
{
    while (true)
    {
        char n[256];
        gets_s(n);
        if (n[0] == '#')
        {
            break;
        }
        else
        {
            int sum = 0;
            int len = strlen(n);
            //cout << len << endl;
            for (int i = 0; i < len; i++)
            {
                int x;
                if (n[i] == ' ')
                {
                    x = 0;
                }
                else
                {
                    x = n[i] - 64;
                }
                sum = sum + (i + 1) * x;
            }
            cout << sum << endl;
        }
    }
}

1170.Balloon Comes!

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
    int T;
    while (cin >> T)
    {
        for (int i = 0; i < T; i++)
        {
            char C;
            int A, B;
            cin >> C >> A >> B;
            if (C == '+')
            {
                cout << A + B << endl;
            }
            else if (C == '-')
            {
                cout << A - B << endl;
            }
            else if (C == '*')
            {
                cout << A * B << endl;
            }
            else if(C=='/')
            {
                if (A % B == 0)
                {
                    cout << A / B << endl;
                }
                else
                {
                    double a = A;
                    double b = B;
                    cout << setiosflags(ios::fixed) << setprecision(2) << a / b << endl;
                }
            }
        }
    }
}

1197.Specialized Four-Digit Numbers

#include<iostream>
using namespace std;
int main()
{
    for (int a = 2992; a < 10000; a++)
    {
        int sum = 0;
        int n = a, x = a;
        sum = (a % 10) + ((a / 10) % 10) + ((a / 100) % 10) + (a / 1000);
        //十二进制,取十二相余,同理得16进制
        int sum_b = 0, sum_h = 0;
        for (int i = 0; n != 0; i++)
        {
            sum_b = sum_b + (n % 12);
            n = n / 12;
        }
        for (int i = 0; x != 0; i++)
        {
            sum_h = sum_h + (x % 16);
            x = x / 16;
        }
        if ((sum == sum_b) && (sum == sum_h))
        {
            cout << a << endl;
        }
    }
}

2629.Identity Card

#include<iostream>
#include<string>
using namespace std;
int main()
{
    int n;
    while (cin >> n)
    {
        for (int i = 0; i < n; i++)
        {
            char num[20];
            string location;
            for (int j = 0; j < 18; j++)
            {
                cin >> num[j];
            }
            if (num[0] == '3' && num[1] == '3')
            {
                location = "Zhejiang";
            }
            else if (num[0] == '1' && num[1] == '1')
            {
                location = "Beijing";
            }
            else if (num[0] == '7' && num[1] == '1')
            {
                location = "Taiwan";
            }
            else if (num[0] == '8' && num[1] == '1')
            {
                location = "Hong Kong";
            }
            else if (num[0] == '8' && num[1] == '2')
            {
                location = "Macao";
            }
            else if (num[0] == '5' && num[1] == '4')
            {
                location = "Tibet";
            }
            else if (num[0] == '2' && num[1] == '1')
            {
                location = "Liaoning";
            }
            else if (num[0] == '3' && num[1] == '1')
            {
                location = "Shanghai";
            }
            cout << "He/She is from " << location << ',' << "and his/her birthday is on " << num[10] << num[11] << ',' << num[12] << num[13] << ',' << num[6] << num[7] << num[8] << num[9] << " based on the table." << endl;
        }
    }
}

总结

今天的题目放得有点少,主要是库存不够了。

加油刷题!!!886

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值