1. 程式人生 > >【第八週】專案4-字串加密

【第八週】專案4-字串加密

#include <stdio.h>
#include "sqString.h"

SqString A,B; //用於儲存字元對映表

SqString EnCrypt(SqString p)
{
    int i=0,j;
    SqString q;
    while (i<p.length)
    {
        for (j=0; p.data[i]!=A.data[j]; j++); //迴圈條件少加了&&j<A.length
        if (j>=p.length)            //在A串中未找到p.data[i]字母
            q.data[i]=p.data[i];
        else                        //在A串中找到p.data[i]字母
            q.data[i]=B.data[j];
        i++;
    }
    q.length=p.length;
    return q;
}

SqString UnEncrypt(SqString q)
{
    int i=0,j;
    SqString p;
    while (i<q.length)
    {
        for (j=0; q.data[i]!=B.data[j]; j++);//迴圈條件少加了&&j<B.length
        if (j>=q.length)            //在B串中未找到q.data[i]字母
            p.data[i]=q.data[i];
        else                    //在B串中找到q.data[i]字母
            p.data[i]=A.data[j];
        i++;
    }
    p.length=q.length;
    return p;
}

int main()
{
    SqString p,q;
    StrAssign(A,"abcdefghijklmnopqrstuvwxyz");  //建立A串
    StrAssign(B,"ngzqtcobmuhelkpdawxfyivrsj");  //建立B串
    char str[MaxSize];
    printf("\n");
    printf("輸入原文串:");
    gets(str);                                  //獲取使用者輸入的原文串
    StrAssign(p,str);                           //建立p串
    printf("加密解密如下:\n");
    printf("  原文串:");
    DispStr(p);
    q=EnCrypt(p);                               //p串加密產生q串
    printf("  加密串:");
    DispStr(q);
    p=UnEncrypt(q);                         //q串解密產生p串
    printf("  解密串:");
    DispStr(p);
    printf("\n");
    return 0;
}


相關推薦

專案4-字串加密

#include <stdio.h> #include "sqString.h" SqString A,B; //用於儲存字元對映表 SqString EnCrypt(SqString p) { int i=0,j; SqString q; while (i<p.

專案3-順序串演算法

採用順序儲存方式儲存串,實現下列演算法並測試:   (1)試編寫演算法實現將字串S中所有值為c1的字元換成值為c2的字元:  void Trans(SqString *&s, char c1, char c2);  (2)試編寫演算法,實現將已知字串所有字元倒過來重新排列。如ABCDEF改為FEDCB

--串--專案四--字串加密--

*計算機控制工程學院 *班級:計156-2 *姓名:陳飛 *問題及程式碼: [cpp] view plain copy print? #include <stdio.h> #include "sqString.h" SqString A,B; //

專案4-字串加密

標頭檔案:#ifndef SqString_H_INCLUDED #define SqString_H_INCLUDED #define MaxSize 100 //最多的字元個數 typedef struct { char data[MaxS

專案4-字串加密

/*   *Copyright  (c)2017,煙臺大學計算機與控制工程學院       *All rights reservrd.       *作者:趙楷文  *完成時間:2017年12月14日       *版本號:v1.0  *問題描述:  一個文

專案4-字串加密

問題及程式碼: /* * Copyright (c) 2016, 煙臺大學計算機與控制工程學院 * All rights reserved. * 檔名稱:Cube007.cpp * 作 者:劉小楠 * 完成日期:2016年10月20日 * * 問題描述:

專案4--字串加密

問題及程式碼: /* *Copyright(c) 2015, 煙臺大學計算機學院 *All rights reserved. *檔名稱:字串加密.cpp *作 者:杜文文 *完成日期:2015年 10月 30日 *問題描述:一個文字串可用

--專案4-字串加密

問題描述及程式碼: /* 檔名稱:第8周專案4-字串加密.cpp 作 者:劉春彤 完成日期:2016年10月20日 版 本 號:v1.

專案4 字串加密

#include <stdio.h> #include "sqString.h" SqString A,B; //用於儲存字元對映表 void StrAssign(SqString &s,char cstr[]) //字串常量cstr賦給串s { int i; for

Python之路:堡壘機實例以及數據庫操作

流程 plain ima update 相關操作 tcs tmp int /tmp 堡壘機前戲 開發堡壘機之前,先來學習Python的paramiko模塊,該模塊機遇SSH用於連接遠程服務器並執行相關操作 SSHClient 用於連接遠程服務器並執行基本命令 基於用戶名密

web前端JS的DOM對象二

purple 事件類型 湖北省 常用 web -h png 自己 string 一、節點操作 創建節點:var ele_a = document.createElement(‘a‘);添加節點:ele_parent.appendChild(ele_img);刪除節點:el

Django Django自帶的分頁器

sso 得到 pen active iou lan 查看 ger .get Django的分頁器(paginator) view.py from django.shortcuts import render,HttpResponse # Create your view

Flask flask-session組件

cati format 安裝 info 配置 插入數據 odin 關系 let 簡介 flask-session是flask框架的session組件,由於原來flask內置session使用簽名cookie保存,該組件則將支持session保存到多個地方,如: redi

Python全棧開發之路 :面向對象編程設計與開發(2)

ssi pen 解析 執行 示例 動態 類型 put 所有 一、繼承與派生 什麽是繼承? 繼承指的是類與類之間的關系,是一種什麽是什麽的關系,繼承的功能之一就是用來解決代碼重用問題。 繼承是一種創建新的類的方式,在python中,新建的類可以繼承一個或多個父類,父類又可以成

9天Java中字串的處理

1 String類的初始化、與StringBuffer類和StringBuilder類三者的區別 1.1 String類的初始化兩種方式 1.2 String類、StringBuffer類和StringBuilder類三者的區別

深入理解JVM虛擬機器讀書筆記虛擬機器位元組碼執行引擎

8.1 概述 8.2 執行時棧幀結構 8.2.1 區域性變量表 8.2.2 運算元棧 8.2.3 動態連線 8.2.4 方法返回地址

對ORM的支援 之 8.1 概述

8.1  概述 8.1.1  ORM框架        ORM全稱物件關係對映(Object/Relation Mapping),指將Java物件狀態自動對映到關係資料庫中的資料上,從而提供透明化的持久化支援,即把一種形式轉化為另一種形式。        物件與關係資料

《C#高階程式設計》委託、lambda表示式和事件 -- 學習筆記

       之前由於考試的關係,耽誤了不少時間。然而考試也考的不怎麼樣,說多了都是淚。下面我們直接進入今天的正題 --- 委託。        委託是一個神奇的東西。委託的出現,使得方法可以作為引數進行傳遞。其中我們接觸最多的應該就是通用庫類。通用庫類,正是由於這種機制

SAP HANA XS使用Data Services查詢CDS實體

SAP HANA交流群:577202301 接上一篇,繼續 7、使用條件限制結果集。可以使用$ where()方法來設定限制查詢返回的結果集的條件。 以下示例顯示如何選擇淨額等於其訂單淨額的一半(或更多)的所有專案。 var qSelectedOrders = qOrde

MOOCPython資料分析與展示-北京理工大學-資料分析之概要

概要:提取資料的基本特徵 單元7:pandas庫入門 Pandas是Python第三方庫,提供高效能易用資料型別和分析工具,Pandas基於NumPy實現,常與NumPy和Matplotlib一同使用。 常用引用方法: import pandas