gpt4 book ai didi

CS50 Caesar - ASCII 字母和输出格式

转载 作者:行者123 更新时间:2023-11-30 21:44:35 25 4
gpt4 key购买 nike

我一直在尝试解决 cs50 的凯撒问题的不太舒服的版本,并且只想在这个问题之前说我是一个完全的初学者。

该程序应该要求用户输入 key 和明文,然后使用提供的 key 对该文本进行加密。例如,对于 key 2,“aba”将是“cdc”。

我想我成功地让程序正确运行,除了两件事:密文或加密文本的输出应该采用“Ciphertext:”的形式,而不是像我的程序那样仅输出字符串。另一个更重要的问题是,如果输入的 key 大于 26,则输出将包含其他不需要的符号而不仅仅是字母。

#include <stdio.h>
#include <cs50.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>

int main (int argc, string argv [])
{
if (argc != 2)
{
printf ("Error. Instructions not followed.\n");
return 1;
}
int key = atoi(argv [1]);
printf ("%i\n", key);
printf("Plaintext:");
string plaintext = get_string();
int i = 0;
for (char c = 'A'; c <= 'Z'; c++)
{
i++;
}
for (int j = 0; j < strlen(plaintext); j++)
{
char ciphertext = ((plaintext[j]+key%26));
if (isupper (plaintext[j]) || islower (plaintext[j]))
{
printf("%c", ciphertext);
}
if (isalpha (plaintext [j]) == false)
{
printf("%c", (plaintext[j]));
}
}

printf("\n");
}

任何帮助将不胜感激。谢谢。

最佳答案

首先,你必须遵循问题的规范。也就是说,您必须在接受输入之前打印出单词“plaintext:”,并在给出任何输出之前打印出“ciphertext:”。由于检查过程是自动化的,这一点变得非常重要。注意问题陈述中这些词的大小写。其次,我会让你自己理清逻辑,这是问题集的重要部分。尝试观看接下来的几场讲座,了解如何在 CS50 IDE 中使用调试器。它将对您自己解决代码中的问题有很大帮助。

关于CS50 Caesar - ASCII 字母和输出格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46132142/

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