Đề bài: Có một chuỗi ký tự với ý nghĩa là họ tên một ai đó. Theo quy ước, từ đầu tiên trong chuỗi là họ, từ cuối cùng là tên, các từ ở giữa họ và tên là chữ lót. Hãy viết chương trình nhận vào một chuỗi họ tên và tách chuỗi thành các phần họ, chữ lót và tên
Đoạn code mẫu để tách các từ dựa vào token
#include <string.h>
#include <stdio.h>
int main()
{
const char str[80] = "This is - www.tutorialspoint.com - website";
const char s[2] = "-";
char *token;
/* get the first token */
token = strtok(str, s);
/* walk through other tokens */
while( token != NULL )
{
printf( " %s\n", token );
token = strtok(NULL, s);
}
return(0);
}
Bài giải:#include <string.h>
#include <stdio.h>
int main()
{
char hoten[80];
printf("nhap ho ten: ");
gets(hoten);
char *token;
token = strtok(hoten, " ");
int c=0;
char mang[5][15];
while( token != NULL )
{
printf( " %s\n", token );
strcpy(mang[c],token);
c++;
token = strtok(NULL, " ");
}
printf("Ho : %s\n",mang[0]);
printf("Chu lot: ");
for(int i=1;i<c-1;i++){
printf("%s ",mang[i]);
}
printf("\nTen: %s",mang[c-1]);
return(0);
}