gpt4 book ai didi

c - 用c代码制作凯撒密码?

转载 作者:行者123 更新时间:2023-11-30 20:56:17 24 4
gpt4 key购买 nike

堆栈溢出的好心人大家好。

说明

我正在尝试以下操作。

我的程序需要将字母流作为输入,然后向前旋转 13 步作为输出。

例如

A 变成 N

B 变成 O

C 变成 P

D 变成 Q

等等

对于这个程序,我需要使用 ascii 表。例如,小写 a=97 一旦我的程序完成,它就会变成 n=110

我为此写了一个小公式

c=(c+13-97)% 26+97 其中 c 是我的信。如您所见,如果 c=97 那么 c 最终将是 110。

这是我的程序

可以看出,我使用了 if 语句来确定我是否有大写字母或小写字母。

  /* 97 is lower case a in ascii and 122 is lower case z*/

# include <stdio.h>

int main() {

char c;

printf("please enter a character:");


while (c!=-1) {

c=getchar();
putchar (c);

if ( c>=97 && c<=122) {

c=(c+13-97)% 26+97 ;
printf("%c \n " ,c);

}
else

c=(c+13-65) % 26 +65 ;
printf("%c \n " ,c);


}
return 0;
}

我的问题在于输出,例如如果我插入一个

我得到的不是 n

    an
n

1

最佳答案

您的代码绝对没问题,只需进行一些细微的更改。

     /* 97 is lower case a in ascii and 122 is lower case z*/

# include <stdio.h>

int main()
{

char c;

printf("please enter a character:");


while (c!=-1)
{

c=getchar();
//putchar (c); // Avoid Printing entered character

if ( c>=97 && c<=122)
{
c=((c+13-97)% 26)+97 ;
printf("%c \n " ,c);
}
else
{ // Braces missing
c=((c+13-65) % 26) +65 ;
printf("%c \n " ,c);
}
return 0;
}
}

输出:

please enter a character : a
n

关于c - 用c代码制作凯撒密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26453673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com