程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> 編程高手請進!有關C語言!

編程高手請進!有關C語言!

編輯:C語言問答

編程高手請進!有關C語言!

20

輸入一個字符已加密的形式輸出,然後將其解密,解密的字符序列與輸入的正文進行比較,吻合時輸出解密正文,否則解密失敗。

加密時將每一個字符的ASCII碼依次反復加上“4962873”中的數字

注:用C語言,別的語言就不要了,先謝了!

最佳回答:

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

int main( void )

{

    char source[80], encrypt[80], decrypt[80];

    int ascii[] = {4,9,6,2,8,7,3};

    int i;

   

    printf("Enter a string: ");

    gets( source );

   

    // encrypt

    for ( i = 0; i < strlen( source ); i++ )

    {

        encrypt[i] = source[i] + ascii[source[i]%7];

    }

    encrypt[i] = '\0';

   

    // decrypt

    for ( i = 0; i < strlen( source ); i++ )

    {

        decrypt[i] = encrypt[i] - ascii[source[i]%7];

    }

    decrypt[i] = '\0';

   

    printf("Encrypt: ");

    puts( encrypt );

   

    // check

    if ( strcmp( source, decrypt ) == 0 )

    {

        printf("Decrypt: ");

        puts( decrypt );

    }

    else

        printf("Error in decrypting!\n");

   

    system("pause");

    return 0;

}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved