文档详情

C语言字符串.ppt

发布:2017-05-27约5.64千字共30页下载文档
文本预览下载声明
ACM程序设计 福州大学至诚学院 冯新 第四讲 字符串处理 string.h常用函数介绍 复制 char*?strcpy (char *s1, const char *s2); 将字符串s2复制到s1指定的地址 char*?strncpy (char *s1, const char *s2, size_t len); 将s2的前len个字符(字节)复制到s1中指定的地址, 不加\0 连接 char*?strcat (char *s1, const char *s2); 将字符串s2连接到s1尾部 char*?strncat (char *s1, const char *s2, size_t len); 将字符串s2的前len个字符连接到s1尾部, 不加\0 比较 int?strcmp (const char *s1, const char *s2); 比较字符串s1和s2 ? int?strncmp (const char *s1, const char *s2, size_t len); 对s1和s2的前len个字符(字节)作比较 查找 char*?strchr (const char *s, int ch); 在s中查找给定字符(字节值)ch第一次出现的位置 char*?strrchr (const char *s, int ch); 在串s中查找给定字符ch最后一次出现的位置, r表示从串尾开始 char*?strstr (const char *s1, const char *s2); 在串s1中查找指定字符串s2第一次出现的位置 其他 size_t?strlen (const char *s); 求字符串s的长度 字符转换 所谓字符转换就是将字符按照某种规律转换成对应的字符 曾经最难的问题(HDU 1048) 题目描述: 恺撒大帝生活在充满危险和阴谋的时代。恺撤大帝面临最严峻的形势就是如何生存下去,为了生存,他决定设计一种密码。这种密码设计得是如此难以置信的合理,以至于不知道它的原理就无法破译。 你是恺撒军队的一个小队长。你的工作就是对恺撒发布的密文进行解码,然后告诉军头的司令官。加密的规则其实很简单:对原文中的每个字母,转换成字母表后面第5个字母,如原文中的字符为字母A,则密文中对应的字符为F。因为你的工作是解码,所以要将密文文翻译成原文。 ciphertext(密文):ABCDEFGHIJKLMNOPQRSTUVWXYZ plaintext (原文):VWXYZABCDEFGHIJKLMNOPQRSTU 加密时,只有字母字符才按照上述规则进行加密。任何非字母字符保持不变,而且所有享母字符均为大写字母。 输入数据: 输入文件(非空)最多包含100组数据。每组数据为下面的格式,每组数据之间没有空行,所有的字符为大写。 每组数据由3行组成: (1)首行为字符串START; (2)第2行为密文,包含的字符个数大于等于1,小于等于200,表示恺撒发布的密文; (3)第3行为字符串END。 最后一组数据后有ENDOFINPUT,表示输入结束。 输出描述: 对每组数据,输出一行,为你解密出来的原文。 输入数据: 输入文件(非空)最多包含100组数据。每组数据为下面的格式,每组数据之间没有空行,所有的字符为大写。 每组数据由3行组成: (1)首行为字符串START; (2)第2行为密文,包含的字符个数大于等于1,小于等于200,表示恺撒发布的密文; (3)第3行为字符串END。 最后一组数据后有ENDOFINPUT,表示输入结束。 输出描述: 对每组数据,输出一行,为你解密出来的原文。 Sample Input START NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX END START IFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJ END ENDOFINPUT Sample Output IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES DANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE 题目分析 分析本题针对的大写字母,把每个字母转换成字母表前5个字母,形成环状序列。F转换成A.G转换成B,…,Z转换成U,A、B、
显示全部
相似文档