Đề: Viết chương trình nhập vào 1 chuỗi nguồn, ví dụ “Nguyen Minh Long”, sau đó nhập vào 1 chuỗi con, ví dụ “Minh”, chương trình sẽ xác định vị trí bắt đầu của chuỗi con ở vị trí nào trong chuỗi nguồn. Kết quả in ra màn hình như sau:
- Chuoi nguon la : Nguyen Minh Long
- Chuoi con la : Minh
- Vi tri bat dau cua chuoi con la : 8
Kết quả của mình:
Không hiểu sao code mình chạy nhưng nó lại cứ bị kém 1 là sao vậy ae. Ae nhìn giúp mình bug chỗ nào với @@.
#include <stdio.h>
#include <string.h>
main ()
{
char a [100], b [75], c [100];
/* Trong do:
- a: Chuoi nguon;
- b: Chuoi con;
- c: Chuoi phat sinh;*/
int start = 1, i, ss;
printf ("Nhap chuoi nguon: ");
gets (a);
printf ("Nhap chuoi con: ");
gets (b);
printf ("\n- Chuoi nguon la: %s\n", a);
printf ("- Chuoi con la: %s", b);
while (start <= strlen (a) - strlen (b) + 1)
{
for (i = 0; i < strlen (b); i ++)
{
c [i] = a [start + i];
}
c [i] = NULL;
ss = strcmp (c, b);
if (ss == 0)
printf ("\n- Vi tri bat dau cua chuoi con la: %d", start );
start ++;
}
}