基本上,我必须检查特定模式是否出现在一行中.如果是,我必须打印该行,否则不打印.所以这是我的代码:
p = input()
while 1:
line = input()
a=line.find(p)
if a!=-1:
print(line)
if line=='':
break
Run Code Online (Sandbox Code Playgroud)
这段代码似乎很好,并被接受为正确的答案.但是有一个问题.我在读取代码测试网站忽略的一行时遇到运行时错误EOFError:EOF.
我有三个问题:1)为什么被忽视?2)如何删除它?3)有没有更好的方法来解决问题?
我使用了 3 个嵌套循环。现在我想将这些循环转换为递归。还有将循环转换为递归的通用方法吗?
#include <stdio.h>
#define f(x, y, z) ((x + y) * (y + z))
int main()
{
int test_case, p, q, r, i, j, k, a[100001], b[100001], c[100001], sum;
scanf("%d", &test_case);
while (test_case--) {
scanf("%d%d%d", &p, &q, &r);
sum = 0;
for (i = 0; i < p; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < q; i++) {
scanf("%d", &b[i]);
}
for (i = 0; i < p; i++) {
scanf("%d", &c[i]);
}
for …Run Code Online (Sandbox Code Playgroud)