按照指定規則對輸入的字串進行處理。
詳細描述:
將輸入的兩個字串合併。
對合併後的字串進行排序,要求為:下標為奇數的字元和下標為偶數的字元分別從小到大排序。這裡的下標意思是字元在字串中的位置。
對排序後的字串進行操作,如果字元為『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)
輸入兩個字串
輸出轉化後的結果
示例1
dec fab
5d37bf本題考查知識點:字串拼接、字串排序、查表法
本題難度:中級
#include #include #include "oj.h"
/*功能:字串處理
輸入:兩個字串,需要異常處理
輸出:合併處理後的字串,具體要求參考文件
返回:無
for(int i=0;iporg[j+1])
}} *///氣泡排序,從小到大
/*void sort(char a,int n)
}
}}*/
//查表法
char change(char ch)
return temp;
}void processstring(char* str1,char *str2,char * stroutput)
if((str1 == '\0')&&(str2 == '\0'))
int len1 = strlen(str1);
int len2 = strlen(str2);
//char str[20];//疑問2:陣列只用了len1+len2,後面的需要清空處理嗎?結尾是null?
//char str3[10];
//char str4[10];
/*strcat(str,str1);
strcat(str,str2);用strcat拼接不好用,改為memcpy()
標頭檔案:#include strcat() 函式用來連線字串,其原型為:
char *strcat(char *dest, const char *src);
【引數】dest 為目的字串指標,src 為源字串指標。
strcat() 會將引數 src 字串複製到引數 dest 所指的字串尾部;dest 最後的結束字元 null 會被覆蓋掉,並在連線後的字串的尾部再增加乙個 null。
注意:dest 與 src 所指的記憶體空間不能重疊,且 dest 要有足夠的空間來容納要複製的字串。
【返回值】返回dest 字串起始位址。*/
/*for(int i = len1,j = 0;i<(len1+len2),jget的知識點:
1.memcpy():用於拼接字串
函式原型
void *memcpy(void*dest, const void *src, size_t n);
功能由src指向位址為起始位址的連續n個位元組的資料複製到以destin指向位址為起始位址的空間內。
標頭檔案#include
返回值函式返回乙個指向dest的指標。
說明1.source和destin所指記憶體區域不能重疊,函式返回指向destin的指標。
2.與strcpy相比,memcpy並不是遇到'\0'就結束,而是一定會拷貝完n個位元組。
memcpy用來做記憶體拷貝,你可以拿它拷貝任何資料型別的物件,可以指定拷貝的資料長度;
例:char a[100], b[50];
memcpy(b, a,sizeof(b)); //注意如用sizeof(a),會造成b的記憶體位址溢位。
strcpy就只能拷貝字串了,它遇到'\0'就結束拷貝;例:
char a[100], b[50];
strcpy(a,b);
3.如果目標陣列destin本身已有資料,執行memcpy()後,將覆蓋原有資料(最多覆蓋n)。如果要追加資料,則每次執行memcpy後,要將目標陣列位址增加到你要追加資料的位址。
6 字串拼接
字串相加 alert hello world hello world 數值字串相加 alert 100 100 100100 數值字串 數值 alert 11 12 1112口訣 數值相加,字元相連 var age 18 console.log pink老師age歲啦 這樣不行 console.lo...
124 字串拼接
1 package api 2 3需求 4定義乙個方法,把int陣列中的資料按照指定的格式拼接成乙個字串返回,呼叫該方法,並在控制台輸出結果。5例如,陣列為 int arr 執行方法後的輸出結果為 1,2,3 6思路 71.定義乙個int型別的陣列,用靜態初始化完成陣列元素的初始化 82.定義乙個方...
華為OJ 029 字串加解密
1 對輸入的字串進行加解密,並輸出。2加密方法為 當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b 字母z時則替換為a 當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0 其他字元不做變化。3 解密方法為加密的逆過程。介面描述 實現介面,每個介面實...