天天看點

【GPLT】L1-010 比較大小

版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協定,轉載請附上原文出處連結和本聲明。

本文連結:https://blog.csdn.net/weixin_42449444/article/details/88616610

題目描述:

本題要求将輸入的任意3個整數從小到大輸出。

輸入格式:

輸入在一行中給出3個整數,其間以空格分隔。

輸出格式:

在一行中将3個整數從小到大輸出,其間以“->”相連。

輸入樣例:

4 2 8           

複制

輸出樣例:

2->4->8           

複制

解題思路:

第一次做這道水題是在HBUOJ,我當時用的Python,倆行AC!第一行讀入一個int型的list,第二行是将list升序排列後添加到一個以"->"為分隔符的字元串中。現在用Cpp寫吧,題目說的是輸入3個數,我不想int a[3];來寫,我是用while語句來讀取若幹個數,每個數都被推入vector中,然後對vector進行升序排列,最後無腦for-each輸出即可。

PyAC代碼:

a = map(int,input().split())
print("->".join(str(i) for i in sorted(a)))           

複制

CppAC代碼:

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int temp;
    vector<int> v;
    while(cin >> temp)   //将輸入的數都推入vector中
    {
        v.push_back(temp);
    }
    sort(v.begin(),v.end());   //升序排列
    bool isVirgin = true;   //判斷是不是第一次
    for(auto it : v)
    {
        if(isVirgin)
        {
            cout << it;
            isVirgin = false;
        }
        else
        {
            cout << "->" << it;
        }
    }
    return 0;
}           

複制