程式設計題 7 字串排序(C 程式設計第10周)

2021-07-09 23:35:43 字數 2572 閱讀 5588

描述

請按照要求對輸入的字串進行排序。

#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之間的整數,若是則將其轉化為整數做加法,若不是,則作字串加法,返回的值...