華為OJ 030 字串拼接

2021-09-24 10:19:36 字數 2400 閱讀 5982

按照指定規則對輸入的字串進行處理。

詳細描述:

將輸入的兩個字串合併。

對合併後的字串進行排序,要求為:下標為奇數的字元和下標為偶數的字元分別從小到大排序。這裡的下標意思是字元在字串中的位置。

對排序後的字串進行操作,如果字元為『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 解密方法為加密的逆過程。介面描述 實現介面,每個介面實...