【GPLT】L1-010 比较大小

正文索引 [隐藏]

题目描述:

本题要求将输入的任意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;
}