英文字母排序
116.英文字母排序 (20分)?
C時間限制:3000 毫秒 | ?C內存限制:3000 Kb
題目內容:
編寫一個程序,當輸入英文字符串時,計算機將這個句子中的英文字母按字典字母順序重新排列,排列后的單詞的
長度要與原始句子中的長度相同,并且要求只對A到Z的字母重新排列,其它字符保持原來的狀態。
輸入描述
一個字符串,包括大寫英文字母,以及其他字符
輸出描述
字符串的重新排列,只是大寫字母按字典順序,其他字母保持原位
輸入樣例
THE PRICE OFBREAD IS ¥1 25 PER POUND
輸出樣例
ABC DDEEE EFHIINO OP ¥1 25 PPR RRSTU
?
本題你若是在校OJ上的連樣例都過不了,很正常,要是你過了,只能說明你tql。畢竟這個校OJ上的字符串不是我們平時正常的字符串,可以試一試,不過來翻看我博客, 說明你可能還沒發現介個問題,不過題目還沒問題,直接交就完事了。
這個最坑爹的問題解決后就只需要,對需要排序的排個序,再輸出就行了,
#include"iostream" #include"algorithm" #include"cstdio" using namespace std; bool cmp(char a,char b){return a<b; } char s[1001],S[1001]; int main(){int k = 0,p = 0;gets(s);for(int i = 0;s[i]!='\0';i++)if(s[i]>='A'&&s[i]<='Z')S[k++] = s[i];cout << k;sort(S,S+k,cmp);for(int i = 0;s[i]!='\0';i++)if(s[i]>='A'&&s[i]<='Z')s[i]=S[p++];puts(s); }?
總結
- 上一篇: linux tar xzmf,有人吗??
- 下一篇: win10电脑黑屏,只有鼠标能动,并且只