100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 编写加密程序 将用户输入的一个英文句子加密为加密字符串 然后输出加密字符串。假设

编写加密程序 将用户输入的一个英文句子加密为加密字符串 然后输出加密字符串。假设

时间:2020-03-11 09:57:43

相关推荐

编写加密程序 将用户输入的一个英文句子加密为加密字符串 然后输出加密字符串。假设

编写加密程序,将用户输入的一个英文句子加密为加密字符串,然后输出加密字符串。假设句子长度不超过100个字符。根据给定的句子加密函数原型SentenceEncoding,编写函数SentenceEncoding调用给定的字符加密函数CharEncoding完成句子加密。然后,编写主程序提示用户输入英文句子,然后调用函数SentenceEncoding对句子加密,最后输出加密后的句子。字符加密规则为大写字母和小写字母均加密为其补码, 我们定义ASCII码值相加为’A’+’Z’即155的两个大写字母互为补码,ASCII码值相加为’a’+’z’即219的两个小写字母互为补码。空格用@代替,句号以#代替,其它字符用句点代替。

函数原型:

void SentenceEncoding(char *soure,char *code);

功能:对待加密字符串source加密后保存加密字符串到code.

参数:char *soure,指向待加密句子的字符串指针;

char *code 指向加密字符串的字符串指针;

字符加密函数代码。

【其实就是翻译成代码就行】

在这里插入代码片#include <stdio.h>/*功能:对待加密字符串source加密后保存加密字符串到code.参数:char *soure,指向待加密句子的字符串指针;char *code 指向加密字符串的字符串指针;字符加密规则为大写字母和小写字母均加密为其补码, 我们定义ASCII码值相加为’A’+’Z’即155的两个大写字母互为补码,ASCII码值相加为’a’+’z’即219的两个小写字母互为补码。空格用@代替,句号以#代替,其它字符用句点代替。*/void SentenceEncoding(char *soure,char *code);//字符加密函数代码char CharEncoding(char ch);int main(int argc, const char * argv[]) {printf("Input source sentence:");char a[100],b[100];gets(a);printf("\n");//第一次居然把puts放这了SentenceEncoding(a, b);printf("Encoded sentence:");puts(b);return 0;}/*功能:对待加密字符串source加密后保存加密字符串到code.参数:char *soure,指向待加密句子的字符串指针;char *code 指向加密字符串的字符串指针;*/void SentenceEncoding(char *soure,char *code){int i = 0;for ( i = 0; *(soure+i) != '\0'; i++) {if (*(soure+i) > 'A' && *(soure+i) < 'Z') {*(code+i) = 155 - *(soure+i);}else if (*(soure+i) > 'a' && *(soure+i) < 'z')*(code+i) = 219 - *(soure+i);else*(code+i) = CharEncoding(*(soure+i));}*(code + i) = '\0';}char CharEncoding(char ch){char encode = 0;if(ch>='A' && ch<='Z'){encode = ('A'+'Z')- ch;}else if(ch>='a' && ch<= 'z' ){encode = 'a'+'z'-ch;}else{switch(ch){case ' ': encode = '@';break;case '.': encode = '#';break;default: encode = '.';break;}}return encode;}

运行结果:

需要注意的地方:

字符串传入函数的时候可以用数组,也可以直接用指针puts函数请放到处理后的字符串那里,否则会出现空行什么也没有在作业系统里发现字符串的 ‘\0’ 必须要自己输入否则之后还有可能有随机出现的值,要尽可能主动发现并避免【请看两次代码的区别】

【请看两次代码的区别】

编写加密程序 将用户输入的一个英文句子加密为加密字符串 然后输出加密字符串。假设句子长度不超过100个字符。每日一题----字符串加密类型

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。