电子商务网站建设题库及答案,wordpress 调用子分类,wordpress 嵌入播放ppt,网红营销的优势与劣势《C程序设计教程#xff08;第四版#xff09;——谭浩强》 习题2.8 请编写程序将China译为密码#xff0c;密码的规律是#xff1a;用原来字母后面的第4个字母代替原来的字母。 例如:C后面的4个字母是G#xff0c;h后面第4个字母为l 代码#xff1a;
//《C程序设计教程…《C程序设计教程第四版——谭浩强》 习题2.8 请编写程序将China译为密码密码的规律是用原来字母后面的第4个字母代替原来的字母。 例如:C后面的4个字母是Gh后面第4个字母为l 代码
//《C程序设计教程第四版——谭浩强》
//习题2.8 请编写程序将China译为密码密码的规律是用原来字母后面的第4个字母代替原来的字母。
//例如:C后面的4个字母是Gh后面第4个字母为l#include stdio.h
int main()
{char c1 C;char c2 h;char c3 i;char c4 n;char c5 a;char c1_1,c2_2,c3_3,c4_4,c5_5;//存储变换后的密码//用原来字母后面的第4个字母代替原来的字母if((c165 c190) || (c197 c1122)){c1_1c14;}if((c265 c290) || (c297 c2122)){c2_2c24;}if((c365 c390) || (c397 c3122)){c3_3c34;}if((c465 c490) || (c497 c4122)){c4_4c44;}if((c565 c590) || (c597 c5122)){c5_5c54;}printf(%c%c%c%c%c,c1_1,c2_2,c3_3,c4_4,c5_5);return 0;
}
运行结果 代码改进无论输入什么字母字母都会按照加密规律输出
代码
#include stdio.h
int main()
{char arr1[100];//存储输入的密码char arr2[100];//存储按照加密规律输出的密码//输入输入密码printf(请输入密码);scanf(%s,arr1);//数组名不需要取地址int i 0;for(i0;arr1[i]!\0;i){if( (arr1[i]65 arr1[i]90) || (arr1[i]97 arr1[i]122) ){arr2[i]arr1[i]4;}else{arr2[i] arr1[i]; // 其他字符保持不变(如z没有后面第4位则应该保持不变)}}// 添加字符串结束符arr2[i] \0;printf(加密后的密码%s\n,arr2);return 0;
}
运行结果 代码编写过程中遇到的问题
字符数组初始化在输入字符串时不需要使用取地址符直接使用名称即可。加密逻辑缺陷加密逻辑中仅通过加上 4 来处理字符导致可能会超出字母范围如大写字母Z的后面第4位为字符“^”。需要使用循环逻辑以确保加密后的字母仍然在字母范围内。未处理非字母字符对于非字母字符当前逻辑将其留空应该保留这些字符原样。字符串结束符在赋值arr2时未添加字符串结束符 导致输出时可能出现未定义行为。输出位置问题在循环中不应该在每次加密后立即输出而是在所有字符处理完成后再输出整个加密的字符串。