將輸入的兩個字串合併。
對合併後的字串進行排序,要求為:下標為奇數的字元和下標為偶數的字元分別從小到大排序。這裡的下標意思是字元在字串中的位置。
對排訓後的字串進行操作,如果字元為『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)
void processstring(char* str1,char *str2,char * stroutput)
} for(m = 1; m < len; m = m + 2) }
int ii;
for(ii = 0; ii < len; ii ++)
stroutput[ii] = temp_str[ii];
stroutput[ii] = '\0';
char t1[6] = ;
char t2[6] = ;
int t3[6] = ;
int t4[10]= ;
char t5[10] = ;
char temp_out[2 * n + 1];
for(ii = 0; ii < len; ii ++)
else if(stroutput[ii] >= '0' && stroutput[ii] <= '9')
}temp_out[ii] = '\0';
for(ii = 0; ii < len; ii ++)
stroutput[ii] = temp_out[ii];
stroutput[ii] = '\0';
cout << stroutput << endl;
}void reverse(int n, int *temp1)
}char byte_reverse(int n, char *t2, int *t3, int *t4, char *t5)
; int i;
reverse(n, temp1);
int j;
int sum = 0;
for(j = 0; j < 4; j ++)
sum += temp1[j] * (1 << (4 -1 - j)) ;
int k;
if(sum > 9)
else
return temp_out1;
}程式雖然執行沒有錯誤,但是感覺寫得比較亂。
別人可能只要二三十分鐘就能完成的工作,我卻花了6個多小時才做出來,感覺自己的基本功還需要大大的加強。
每天學習一點程式設計(13)(字串壓縮)
通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1.僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcbc 2.壓縮欄位的格式為 字元重複的次數 字元 例如 字串 yyy...
程式設計之美一 字串
字串是最常見的面試題目型別,應當分配最大的時間。字串本身很簡單,但是相關的題目需要更複雜的演算法來解決。比如說動態規劃,搜尋,等等。include strlen 求字串長度 strcmp 比較2個字串是否一樣 strcat 字串連線操作 strcpy 字串拷貝操作 strncat 字串連線操作 前n...
6 1 字串的連線 (10 分) 。
本題要求實現乙個函式,將兩個字串連線起來 函式介面定義 char str cat char s,char t 函式str cat應將字串t複製到字串s的末端,並且返回字串s的首位址。裁判測試程式樣例 include include define maxs 10 char str cat char s...