gpt4 book ai didi

c - 在此代码中除了使用 gets(c) 和 gets(s) 之外,还有什么替代方案?

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

编辑:

问题:

编写一个程序来查找给定单词(即短字符串)在句子(即长字符串!)。从标准输入读取数据。第一行是一个单词,第二行接着是一般文本。

示例输入:

the
the cat sat on the mat

示例输出:

2

我之前尝试过使用 scanf,但它无法读取整个句子,只检查第一个单词并返回 1 作为答案,而不是 2

代码是:

#include <stdio.h>
#include <string.h>

int main()
{
char s[200000], c[20], v = ' ';
int i = 0, j, f, n = 0;
gets(c);
gets(s);

while (i < strlen(s))
{
j = 0;
f = 0;
while (j < strlen(c))
{
if (s[i++] != c[j++])
{
f = 1;
i--;
break;
}
}

if ((f == 0) && (i == strlen(s) || s[i] == ' ') && (v == ' '))
{
n++;
v = s[i++];
}
printf("%d\n", n);
return 0;
}
}

最佳答案

这是您尝试实现的程序的解决方案 ( answer )。这也提供了获取字符串的正确方法。

希望这对您有所帮助!

关于c - 在此代码中除了使用 gets(c) 和 gets(s) 之外,还有什么替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42537235/

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