博客2014开个头

1. 总共有几个博客,新浪、腾讯、优快云,想来还是每个博客专注一类事情来得好。优快云就用来记录自己学习的点点滴滴吧。毕竟2014是学习上关键的一年。

2. 不管学习多忙,博客都必须坚持写下去,记录每天学习的点点滴滴,哪天缺了,那便是没有认真学习,无从下手。

3. 关于步骤:第一要深入掌握和领会面向对象、设计模式;第二要专注于软组织切割的各种技术研究,多看文章;第三要以FEM为依托,关于FEM的原理及其各种类型改进的FEM要详加理解,在此基础上熟练使用各种FEM库;第四不拘泥于一种方法、一种技术,围绕学习的核心(第二点),只要能达到目标的,任何方法都可以也应该使用;第五多实践;第六英语、写作也要给力。

4.关于目标:首先四月之前搞定第一篇SCI投稿;争取全年有三篇SCI投出去,最好有能被录用了的。

![](https://cdn.jsdelivr.net/gh/moumao/imagesss@main/images/cknow_20251212_180707.jpg) > 注:由于当前环境无法直接读取图像内容,仅能依据您提供的文本片段进行分析。 --- ### 题目重述 输入一串由大小写字母组成的明文字符串(无空格,最多60个字符),将每个字母循环右移5位,生成密文。例如,`A` 变为 `F`,`Z` 变为 `E`(即超出 `Z` 后从 `A` 继续)。编写函数实现该加密过程。 函数接口定义如下: ```c void encode(char a[], char b[]); ``` 其中 `a[]` 是原始明文字符串,`b[]` 是存储加密后密文的数组。 --- ### 答案 ```c #include <stdio.h> void encode(char a[], char b[]) { int i = 0; while (a[i] != '\0') { if (a[i] >= 'A' && a[i] <= 'Z') { // 大写字母循环右移5位 b[i] = (a[i] - 'A' + 5) % 26 + 'A'; } else if (a[i] >= 'a' && a[i] <= 'z') { // 小写字母循环右移5位 b[i] = (a[i] - 'a' + 5) % 26 + 'a'; } i++; } b[i] = '\0'; // 添加字符串结束符 } ``` --- ### 详解 1. 使用 `while` 循环替代 `strlen` 遍历字符串,避免调用 `<string.h>` 中的函数; 2. 对每个字符判断其是否为大写或小写字母; 3. 进行字母表内循环右移:先减去 `'A'` 或 `'a'` 转为 0–25 编号,加 5 后对 26 取模,再加回基准值; 4. 最终在 `b[i]` 处添加 `$\0$`,确保生成合法 C 字符串。 --- ### 知识点 - **字符ASCII编码与算术运算**:利用字符在ASCII表中的顺序进行加减操作,实现字母位移。 - **模运算控制范围**:通过 `$\% 26$` 实现字母表的循环,确保超出 `$Z$` 或 `$z$` 后从头始。 - **字符串处理与终止符**:C语言中字符串以 `$\0$` 结束,必须手动添加以保证输出正确。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值