描述
請按照要求對輸入的字串進行排序。
#include
#include
#include
using
namespace
std;
class a
friend
bool
operator
< (const
class a& a1, const
class a &a2);
friend
bool
operator == (const
class a &a1, const
class a &a2)
friend ostream & operator
<< (ostream &o, const a &a)
string get_name() const
int get_size() const
};// 在此處補充你的**
int main(int argc, char* argv)
lst.sort();
show(lst.begin(), lst.end(), print());
cout
<< endl;
lst.sort(mylarge());
show(lst.begin(), lst.end(), print());
cout
<< endl;
lst.clear();
}return
0;}
輸入
第一行是正整數t,表示測試資料的組數
每組測試資料輸入共兩行,
第一行是正整數n,表示字串個數
第二行是n個字串, 字串間用空格分離
輸出
對於每組測試資料,先輸出一行:
case: n
如對第一組資料就輸出case: 1
第二行按照字串長度從小到大排序之後輸出n個字串,字串之間以空格間隔(不會出現字串長度相同的情況)
第三行按照字串首字元ascii碼序從小到大排序之後輸出n個字串,字串之間以空格間隔(不會出現字串首字母相同的情況)
樣例輸入
2
4a bnss ds tsdfasg
5aaa bbbb ccccd sa q
樣例輸出
case: 1
a ds bnss tsdfasg
a bnss ds tsdfasg
case: 2
q sa aaa bbbb ccccd
aaa bbbb ccccd q sa
原始碼
#include
#include
#include
using
namespace
std;
class a//定義類a,並以友元過載<, == 和 <<
friend
bool
operator
< (const
class a& a1, const
class a& a2);
friend
bool
operator == (const
class a& a1, const
class a& a2)
else
}friend ostream& operator
<< (ostream& o, const a& a)
string get_name() const
int get_size() const
};//在此處補充你的**
bool
operator
< (const a& a1, const a& a2)
template
//函式模板
void show(iterator begin, iterator end, function print)
}class print //函式物件類
};template
//函式物件類模板
struct mylarge
};int main(int argc, char* argv)
lst.sort();//如上已經過載的a型別的「<」號,按尺寸排序
show(lst.begin(), lst.end(), print());//print()為函式物件,用途類似於函式指標或函式名字
cout
<< endl;
lst.sort(mylarge());//按照函式物件的方式進行排序
show(lst.begin(), lst.end(), print());
cout
<< endl;
lst.clear();
}return
0;}
程式設計題 4 字串操作(C 程式設計第9周)
描述 給定n個字串 從1開始編號 每個字串中的字元位置從0開始編號,長度為1 500,現有如下若干操作 copy n x l 取出第n個字串第x個字元開始的長度為l的字串。add s1 s2 判斷s1,s2是否為0 99999之間的整數,若是則將其轉化為整數做加法,若不是,則作字串加法,返回的值為一...
C 程式設計題101字串對字元進行計數
輸入aaaabbbbccc 輸出a4b4c3 include includeusing namespace std void countenglish string s,int count if s i a s i z 這個程式存在問題 1.只能順序輸出a z的個數,如果字串不是按順序的,也會順序輸...
字串操作(C 程式設計第7周)
問題描述 給定n個字串 從1開始編號 每個字串中的字元位置從0開始編號,長度為1 500,現有如下若干操作 copy n x l 取出第n個字串第x個字元開始的長度為l的字串。add s1 s2 判斷s1,s2是否為0 99999之間的整數,若是則將其轉化為整數做加法,若不是,則作字串加法,返回的值...