版權聲明:本文為部落客原創文章,遵循 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;
}
複制