gpt4 book ai didi

c - 简单的 C 程序 ABACADABRA

转载 作者:行者123 更新时间:2023-11-30 20:03:35 26 4
gpt4 key购买 nike

请帮忙!!我在完成我正在修读的类(class)的作业时遇到一些困难。 Link to Assignment这是这个pdf中的问题3。我想做的就是将一个数组与另一个数组进行比较,以确保“单词”数组中的每个字母都与“自然”数组(其中包含 ABRACADABRA 字母表)中的字母之一匹配。我什至还没有开始加密部分,但我想我已经为此制定了算法。到目前为止我已经:

int main()
{
int i = 0, w = 0, j = 0;
char nat[5] = { 'a','b','c','d','r' };
char in[5], inw[7];

printf("Enter key: ");

for (i = 0; i < 5; i++)
{
in[i] = getchar();
}

printf("Enter word: ");

for (w = 0; w < 7; w++)
{
inw[w] = getchar();
}

while (j < 5)
{
while (inw[w] != nat[j])
{
j++;
}
if (inw[w] == nat[j])
{
w++;
j = 0;
}
}

if (j == 5)
{
printf("You did not speak ABRACADABRA to me!\n");
}
return 0;
}

最佳答案

您的代码可以大大简化,同时改进其工作方式。

如果输入较少,getchar() 的循环将会失败;您应该只使用 sscanf() 进行大小限制的字符串转换,或 getline()如果你有的话。

您应该将字母表设置为正确的字符串:

const char *nat = "abcdr";

然后使用 strchr()在字符串中搜索字符,并将 nat 作为字符串传递。

关于c - 简单的 C 程序 ABACADABRA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48763548/

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