神论教主 发表于 2014-2-4 20:48:36

小问题,求指点!!!


谁有 这道题的源码 发来看看!最好带注释!谢谢!!!

牡丹花下死做鬼 发表于 2014-2-4 21:32:46

本帖最后由 牡丹花下死做鬼 于 2014-2-4 21:58 编辑


挺简单的啊就是把ASCII+4即可#include<stdio.h>

int main()
{
        char ch;
        while((ch = getchar()) != '\n')//逐个获取输入的全部字符
        {
                if((65<=ch && 90>=ch) || (97<=ch && 122>=ch))//判断是否为字母
                {
                        if((87<=ch && ch<=90) || 119<=ch)//判断是不是最后四个
                        {
                                printf("%c",ch-22);
                        }
                        else
                        {
                                printf("%c",ch+4);
                        }
                }
                else
                {
                        printf("%c",ch);//不是字母(如感叹号)怎不加密
                }
        }
        printf("\n");

        return 0;
}

牡丹花下死做鬼 发表于 2014-2-4 21:41:53

以上是加密的代码 解密就不用我写了吧

竹林小溪 发表于 2014-2-4 21:44:22

牡丹花下死做鬼 发表于 2014-2-4 21:32 static/image/common/back.gif
挺简单的啊就是把ASCII+4即可

如果是wxyz怎么办呢,

神论教主 发表于 2014-2-4 21:49:07

牡丹花下死做鬼 发表于 2014-2-4 21:41 static/image/common/back.gif
以上是加密的代码 解密就不用我写了吧

哦!懂了,我就是不知道怎么获取字符,这下就都懂了!!谢啦!!

牡丹花下死做鬼 发表于 2014-2-4 21:49:21

但是要注意一点啊 首先判断的范围要发生改变(我默认原先不会有'{'   '}'这些字符啊 如果有的话 '{'既可能就是'{' 应为你说只给字母加密 也有可能是w加密后的所以两种都要考虑)

牡丹花下死做鬼 发表于 2014-2-4 21:50:59

竹林小溪 发表于 2014-2-4 21:44 static/image/common/back.gif
如果是wxyz怎么办呢,

好吧忘了看了是Y-C 失误......

牡丹花下死做鬼 发表于 2014-2-4 21:59:18

竹林小溪 发表于 2014-2-4 21:44 static/image/common/back.gif
如果是wxyz怎么办呢,

改好了O(∩_∩)O~ 粗心这毛病.......

神论教主 发表于 2014-2-4 22:14:11

牡丹花下死做鬼 发表于 2014-2-4 21:50 static/image/common/back.gif
好吧忘了看了是Y-C 失误......

#include<stdio.h>

int main()
{
      char ch;
      while((ch = getchar()) != '\n')//逐个获取输入的全部字符
      {
                if((‘a’<=ch && 'v'>=ch) || ('A'<=ch && 'V'>=ch))//判断是否为字母
                {
                        printf("%c",ch+4);//ch在a和v之间 加密
                }
                else if(( 'w'<=ch && 'z'>=ch ) || ( 'W'<=ch && 'Z'>=ch ))
                {
                        printf("%c",ch-22);//ch在w和z之间加密
                }                else
                {
                        printf("%c",ch);//非字母的字符不加密
                }
      }
      printf("\n");

      return 0;
}
可以这么写吗???

神论教主 发表于 2014-2-4 22:15:56

牡丹花下死做鬼 发表于 2014-2-4 21:50 static/image/common/back.gif
好吧忘了看了是Y-C 失误......

最后的else忘换行了- -+

神论教主 发表于 2014-2-4 22:25:29

牡丹花下死做鬼 发表于 2014-2-4 21:59 static/image/common/back.gif
改好了O(∩_∩)O~ 粗心这毛病.......

可以加个好友吗我QQ1127654226谢谢

神论教主 发表于 2014-2-5 20:43:45

牡丹花下死做鬼 发表于 2014-2-4 21:49 static/image/common/back.gif
但是要注意一点啊 首先判断的范围要发生改变(我默认原先不会有'{'   '}'这些字符啊 如果有的话 '{'既可能 ...

为什么W加密后是“{”啊?

牡丹花下死做鬼 发表于 2014-2-5 20:55:45

神论教主 发表于 2014-2-5 20:43 static/image/common/back.gif
为什么W加密后是“{”啊?

说错了 那个是我没看到 W - A的时候写的 可以无视

神论教主 发表于 2014-2-5 22:03:48

牡丹花下死做鬼 发表于 2014-2-5 20:55 static/image/common/back.gif
说错了 那个是我没看到 W - A的时候写的 可以无视

恩 全懂了谢谢
页: [1]
查看完整版本: 小问题,求指点!!!