c语言编写算法,查找模式串t在主串s中第一次出现的位置 输入格式: 首先输入主串s,在第二行中输入模式串t,s和t中不包含空格。的代码
时间: 2024-05-05 22:19:03 浏览: 18
很好,我可以回答这个问题。
以下是一个简单的 C 语言程序,可以查找模式串 t 在主串 s 中第一次出现的位置:
```
#include <stdio.h>
#include <string.h>
#define MAXLEN 100
int main() {
char s[MAXLEN], t[MAXLEN];
int ls, lt, i, j, pos;
// 输入主串和模式串
scanf("%s%s", s, t);
// 计算主串和模式串的长度
ls = strlen(s);
lt = strlen(t);
// 在主串中查找模式串
pos = -1;
for (i = 0; i <= ls - lt; i++) {
for (j = 0; j < lt; j++) {
if (s[i+j] != t[j])
break;
}
if (j == lt) {
pos = i;
break;
}
}
// 输出结果
if (pos == -1)
printf("未找到\n");
else
printf("第一次出现位置:%d\n", pos);
return 0;
}
```
请注意,这个程序只是一个简单的示例,可能无法处理一些复杂的情况。实际应用中,需要根据具体的需求进行修改和优化。