C语言:从键盘输入两个字符串,输出第一个字符串在第二个字符串中的位置

来源:互联网 发布:matlab怎么编程 编辑:程序博客网 时间:2024/04/29 23:52

从键盘输入两个字符串,输出第一个字符串的首字母在第二个字符串中的位置。

如“abc”在“bbbacccabcddaw3”的位置为7。

悬赏分:50 | 解决时间:2011-12-14 11:50:11
//========================================
最佳答案:

试试如下程序:

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

void main()
{
    char M[100], C[100], l1, l2, i, j, k;

    printf("Input STR1: \n");   scanf("%s", C);
    printf("Input STR2: \n");   scanf("%s", M);

    l1 = strlen(C);   printf("Len1 = %d\n", l1);
    l2 = strlen(M);   printf("Len2 = %d\n", l2);

    j = (l2 - l1);

    for (i = 0; i < j; i++) {
      for (k = 0; k < l2; k++)
        if (M[i + k] != C[k])  break;
      if (k == l1)  break;
    }

    if (i < j) printf("i = %d\n", i + 1);
    else       printf("no \n");
}
/*
屏幕显示如下:
==============
Input STR1:
WER
Input STR2:
1234WER56789
Len1 = 3
Len2 = 12
i = 5
Press any key to continue
==============
*/
//========================================
回答者: 做而论道 | 十五级 采纳率:43% 名人
回答时间:2011-11-29 09:11
原题网址:http://zhidao.baidu.com/question/348240834.html
//========================================

0 0