凯撒密码转化,循环,C语言版!

简介: 则是这样的:1. 对于字母字符,将其转换成其后的第3个字母。例如:A→D,a→d,X→A,x→a;2. 对于非字母字符,保持不变。现在,请你根据输入的一行字符,输出其对应的密码。

在传递信息的过程中,为了加密,有时需要按一定规则将文本转换成密文发送出去。有一种加密规则是这样的:

1. 对于字母字符,将其转换成其后的第3个字母。例如:A→D,a→d,X→A,x→a;

2. 对于非字母字符,保持不变。

现在,请你根据输入的一行字符,输出其对应的密码。


输入:I(2016)love(08)China(15)!

输出:L(2016)oryh(08)Fklqd(15)!


注意:字符串长度不超过100。


这个呢就是一个关于循环的题目了

这个题目就是关键在于如何最后三个字符的转化了,但是如果说你是选择了用if语句来对最后三个进行特殊处理的话呢,你就可以关闭这个博客了。恩


下面介绍的是一个循环的方法去实现转化。

就拿大写字母来做个例子吧。

A,B,C,D,E,F,G,H…X,Y,Z.

那么就是最后三个字符的如何回头?


第一步改变

我的话呢,第一步就是想着将其变成一个圆,而不是一个横排,

那么就有了一个26个字母的圆。


第二步就是找规律

A---->D 就是 ‘A’+3

B---->F 就是 ‘A’+(‘B’-‘A’+3)

C---->G 就是 ‘A’+(‘C’-‘A’+3)

.

.

.

X---->A 就是 ‘A’+(‘X’-‘A’+3) 发现这里不行。

就想办法将其转回去,那就就将其变成一个圆,我们可以利用一个取余的情况进行循环。

就变成了下面这种形式:

‘A’+(‘X’-‘A’+3)%26

就可以解决这个一路向前走的问题了。


可能你会觉得有点懵,为啥这个就可以圈圈圈圈圈圈了呢?!

举个例子:

1,2,3,4,5五个数字

那么就有

1%5=1,

2%5=2,

3%5=3,

4%5=4,

5%5=0,

6%5=1,

7%5=2,

看出来了吧,类比一下就行了,有多少个数就对多少取余。

附上完整代码:

#include <stdio.h>
#include <string.h>
int main()
{
    int i,j,k;
    char a[100],b[100];
    gets(a);
    for(i=0;i<strlen(a);i++)
    {
        if (a[i]>='A' && a[i]<='Z')
        {
            a[i]='A'+(a[i]-'A'+3)%26;
        }
        else if (a[i]>='a' && a[i]<='z')
        {
            a[i]='a'+(a[i]-'a'+3)%26;
        }
    }
    for (j=0;j<strlen(a);j++)
    {
        printf("%c",a[j]);
    }
    return 0;
}
相关文章
|
13天前
|
C语言
爱上C语言:分支与循环(分支篇)多个if与if — else if区别
爱上C语言:分支与循环(分支篇)多个if与if — else if区别
|
1月前
|
C语言
利用C语言中的while语句实现循环
利用C语言中的while语句实现循环
18 0
|
1月前
|
C语言
C语言的循环程序
C语言的循环程序
11 0
|
2月前
|
人工智能 C语言 Python
关于c语言循环,我想说的是:
关于c语言循环,我想说的是:
|
3月前
|
存储 算法 编译器
C语言之分支与循环【附6个练习】(二)
C语言之分支与循环【附6个练习】(二)
|
3月前
|
C语言 C++
C语言之分支与循环【附6个练习】(一)
C语言之分支与循环【附6个练习】(一)
|
4月前
|
存储 C语言
C语言中的Do While循环:深度解析与实践应用
C语言中的Do While循环:深度解析与实践应用
|
1月前
|
C语言
介绍c语言中的分支,循环
介绍c语言中的分支,循环
22 0
|
21天前
|
C语言
【C语言】“分⽀与循环第一章:开启创新之门,探索无尽可能性的第一篇章“2
【C语言】“分⽀与循环第一章:开启创新之门,探索无尽可能性的第一篇章“2
|
1月前
|
机器学习/深度学习 程序员 编译器
c语言从入门到实战——分支和循环
C语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构,C语言是能够实 现这三种结构的,其实我们如果仔细分析,我们日常所见的事情都可以拆分为这三种结构或者这三种结构的组合。 我们可以使用 if 、 switch 实现分支结构,使用 for 、 while 、 do while 实现循环结构。
80 0
c语言从入门到实战——分支和循环