按照指定規則對輸入的字串進行處理。
詳細描述:
將輸入的兩個字串合併。
對合併後的字串進行排序,要求為:下標為奇數的字元和下標為偶數的字元分別從小到大排序。這裡的下標意思是字元在字串中的位置。
對排序後的字串進行操作,如果字元為『0』——『9』或者『a』——『f』或者『a』——『f』,則對他們所代表的16進製制的數進行bit倒序的操作,並轉換為相應的大寫字元。如字元為『4』,為0100b,則翻轉後為0010b,也就是2。轉換後的字元為『2』; 如字元為『7』,為0111b,則翻轉後為1110b,也就是e。轉換後的字元為大寫『e』。
舉例:輸入str1為」dec」,str2為」fab」,合併為「decfab」,分別對「dca」和「efb」進行排序,排序後為「abcedf」,轉換後為「5d37bf」
介面設計及說明:
/* 功能:字串處理
輸入:兩個字串,需要異常處理
輸出:合併處理後的字串,具體要求參考文件
返回:無
*/ void processstring(char* str1,char str2,char stroutput)
輸入描述:
輸入兩個字串
輸出描述:
輸出轉化後的結果
輸入例子:
dec fab
輸出例子:
5d37bf
#include
#include
#include
#include
#include
using
namespace
std;
void processstring(char* str1,char *str2,char * stroutput)
int j = 0;
while(str2[j]!='\0')
stroutput_vec.push_back('\0');
vector
s1;vector
s2;i=0;
while(stroutput_vec[i]!='\0')
else
++i;
}sort(s1.begin(),s1.end());
sort(s2.begin(),s2.end());
i = 0;
int k1 = 0,k2=0;
while(stroutput_vec[i]!='\0')
else
++i;
}i = 0;
while(stroutput_vec[i]!='\0')
stroutput[i] = '\0';
i=0;
while(stroutput[i]!='\0')
}else
// if(stroutput[i]>='f'&&stroutput[i]<='z')
// }
}++i;
}}int main()
; while(scanf("%s",str1)!=eof)
return
0; }
華為OJ(字串合併處理)
描述 按照指定規則對輸入的字串進行處理。詳細描述 將輸入的兩個字串合併。對合併後的字串進行排序,要求為 下標為奇數的字元和下標為偶數的字元分別從小到大排序。這裡的下標意思是字元在字串中的位置。對排訓後的字串進行操作,如果字元為 0 9 或者 a f 或者 a f 則對他們所代表的16進製制的數進行b...
華為OJ 字串合併處理
字串合併處理 按照指定規則對輸入的字串進行處理。詳細描述 將輸入的兩個字串合併。對合併後的字串進行排序,要求為 下標為奇數的字元和下標為偶數的字元分別從小到大排序。這裡的下標意思是字元在字串中的位置。對排訓後的字串進行操作,如果字元為 0 9 或者 a f 或者 a f 則對他們所代表的 16進製制...
華為 OJ 字串合併處理
按照指定規則對輸入的字串進行處理。詳細描述 將輸入的兩個字串合併。對合併後的字串進行排序,要求為 下標為奇數的字元和下標為偶數的字元分別從小到大排序。這裡的下標意思是字元在字串中的位置。對排訓後的字串進行操作,如果字元為 0 9 或者 a f 或者 a f 則對他們所代表的16進製制的數進行bit倒...