从键盘输入两个字符串,输出第一个字符串在第二个字符串中的位置(第一个字符 串的首字母在第二个字符串中的位置,如 “abc”在“bbbacccabeddan3”的位置为7) 【要求】 (1)使用的方法历数组 用c语言
时间: 2024-03-18 21:40:21 浏览: 14
好的,我来回答你的问题。
以下是用 C 语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
int i, j, len1, len2, start = -1;
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
len1 = strlen(str1);
len2 = strlen(str2);
for (i = 0; i <= len2 - len1; i++) {
for (j = 0; j < len1; j++) {
if (str1[j] != str2[i + j]) {
break;
}
}
if (j == len1) {
start = i;
break;
}
}
if (start == -1) {
printf("第一个字符串不在第二个字符串中出现。\n");
} else {
printf("第一个字符串在第二个字符串中的位置为:%d\n", start + 1);
}
return 0;
}
```
这个程序首先从键盘输入两个字符串 `str1` 和 `str2`,然后使用两重循环遍历 `str2`,在其中找到与 `str1` 匹配的子串,记录其起始位置并输出。
需要注意的是,数组下标从 0 开始,因此最后输出的位置需要加 1。
希望我的回答能够帮到你!