C語言程式設計題目(5)單字元的位處理 資料加密

2022-03-13 23:13:37 字數 1088 閱讀 6101

這道題目理解起來其實並不難,關鍵是加密演算法的實現,這裡先把關鍵函式貼上來:

1

char charconv(char

mark)

2

值得注意的是呼叫了自定義函式my2pow,返回2的x冪次值,之所以不用系統的pow函式是為了避免型別轉換的麻煩(引數、返回值都是double型別):

1

int my2pow(intx)7

return

result;

8 }

得到單個字元的加密轉換以後,可以新建字串加密函式strconv,迴圈呼叫上面的charconv函式返回加密的完整字串。

1

void strconv(char *src,char *dst,int

length)

7 }

函式接受三個引數,第乙個引數是源字串,第三個引數是源字串的長度;第二個引數是儲存加密後字串的位址。函式結構也十分清晰、簡單。出過一些錯,不能用dst+index這種方法,會有問題,dst是char *型別,dst+1也就是:(dst指向的位址+1個位元組)位址。

1

intmain()2;

5char *str_array[5][21]; //

assume the value of n doesn't bigger than 5

6 scanf("

%d",&n);78

for(index=0;index)914

for(index=0;index)

15 printf("

%s\n

",str_array[index]);

16return0;

17 }

最後是main函式,根據題目要求來依次輸入n組字串,每組字串長度不超過20位元組。然後每輸入一組給temp臨時字元陣列,馬上加密、依次儲存到str_array指標陣列,最後迴圈輸出str_array陣列的n組解密值。**第11行容易出錯,傳參的型別不一致可能存在潛在風險。

C語言字串和寬位處理函式

c語言字串和寬位處理函式 字元分類 寬字元函式普通c 函式描述 iswalnum isalnum 測試字元是否為數字或字母 iswalpha isalpha 測試字元是否是字母 iswcntrl iscntrl 測試字元是否是控制符 iswdigit isdigit 測試字元是否為數字 iswgra...

C語言程式設計的題目

一 了解試卷,胸中有數 綜觀近幾年全國計算機等級二級基礎部分和c語言程式設計的題目,筆試中大多數考題是與大綱要求的基本內容一致的,難度不高,但內容十分廣泛,應牢固掌握。所以,全面複習非常重要。二 深刻理解,強化概念 對於計算機的基礎知識和體系,應注意理解,切忌死記硬背。例如,可以把計算機硬體系統的結...

浙大版《C語言程式設計(第3版)》題目集 (5上)

本題要求實現乙個計算m n mint sum int m,int n 其中m和n是使用者傳入的引數,保證有m include intsum int m,int n int main include intsum int m,int n int sum int m,int n return sum i...