輸入一串字元,可以是字母,數字與符號,空格也包含在內,以問號結束(結束標誌可以自行設定),實現將字串中的字母,數字和其他
字元分開,並輸出字母串的去重後的結果,最後一行為數字串的回文判斷,是為1,不是回文為0.
以下是源**,在vs2013中測試可用:
#include
#include
using namespace std;
class list
char output_data()
list *next;
list *prior; };
void build(list * &list, list * &s)
while (p)
p = p->next; }
cout << "wrong !" << endl; }
void check(list * &list)
else
delete k;
k = null; }
q = q->next; }
p = p->next; }
}void classify(list * &list_a,list * &list_b,list * &list_c)
else if (q->next == null)
else
build(list_b,q);
if (p == list_a)
continue; }
else if (p->output_data() >= 48 && p->output_data() <= 57)
else
else if (q->next == null)
else
build(list_c, q);
if (p == list_a)
continue; }
p = p->next; }
return; }
bool check_repeat(list * &list)
q = p;
p = list;
while (p && q)
p = p->next;
q = q->prior; }
return 1; }
int main()
list *s;
s = new list();
s->next = null;
s->prior = null;
s->input_data(input);
build(list_a,s); }
list *list_b = null;
list *list_c = null;
classify(list_a,list_b,list_c);
list *p;
p = list_a;
if (list_a == null)
else
while (p)
cout << endl;
p = list_b;
if (list_b == null)
else
while (p)
cout << endl;
p = list_c;
if (list_c == null)
else
while (p)
cout << endl;
check(list_b);
p = list_b;
if (list_b == null)
else
while (p)
cout << endl;
if (list_a != null)
else cout << "-1" << endl; }
輸出第一行為數字串,第二行為字母串(去重前),第三行為其他字元,第四行為去重後的字母串,最後一行為數字串是否是回文的判斷
字串的運用
目錄name nick print name name nick print name gender male poem 鋤禾日當午,汗滴禾下土 誰知盤中餐,粒粒皆辛苦 print poem poem 鋤禾日當午,汗滴禾下土 誰知盤中餐,粒粒皆辛苦 print poem print nick s n...
python實現字串完美拆分split
我們想要將以下字串rule進行拆分。字串表示的是乙個規則,由 得到 我們需要將規則中的條件屬性與取值分別提取出來,存放在條件屬性列表cf list與值列表cv list中,規則的結論的屬性與取值也提取出來,分別存放結果屬性列表rf list與值列表rc list。rule rule c s,r s ...
mysql字串拆分實現split功能
目錄 有分隔符的字串拆分 資料庫中 num字段值為 實現的效果 需要將一行資料變成多行 實現的sql select substring index substring index 7654,7698,7782,7788 help topic id 1 1 as num from mysql.help...