A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© WANGJIAO 中级黑马   /  2014-10-23 18:10  /  646 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

自从get新技能后我把这题改了下,但是出现了如图所示情况,求解ING
代码如下
  1. /*编程实现对键盘输入的英文名句子进行加密。用加密方法为:当内容为英文字母时,用26字母中的其后三个字母代替该字母,若为其它字符时不变。比如245a95n加密后是245bcd95opq。*/

  2. #include <stdio.h>
  3. #include <string.h>
  4. int main()
  5. {

  6.      //提示输入句子
  7.     printf("请输入:\n");
  8.     //接收输入数据(数据大小不定,设一个最大值)
  9.     char arr[200];
  10.    
  11.     gets(arr);
  12.     //判断,并加密,输出
  13.     for (int i = 0; arr[i]!='\n'; i++) {
  14.         
  15.         //大写和小写都要加密
  16.         if ((arr[i]>='a'&&arr[i]<='w')||(arr[i]>='A'&&arr[i]<='W')) {
  17.             
  18.             printf("%c",arr[i+3]);
  19.         //XYZ是最后三个字母应分开计算,从头开始循环
  20.         }else if((arr[i]>='x'&&arr[i]<='z')||(arr[i]>='X'&&arr[i]<='Z')){
  21.             
  22.             printf("%c",arr[i+3-26]);
  23.             
  24.         }else{
  25.         //不是英文字母直接输出本身
  26.             printf("%c",arr[i]);
  27.         }

  28.     }
  29.                 return 0;
  30.     }
复制代码

1 个回复

倒序浏览
segmentation fault:11
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马