mình có một chương trình tách tên và họ và đệm ra thành cách thành phần riêng biệt
đoạn code đó đây
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
printf("xin chao cac ban moi cac ban nhap ten \n cac ban nhap thoe thu tu sau ho roi cach ten dem neu thi\n khong cach viet lien roi scah den ten nha\n\n ");
char name[30]= {0},a[10]= {0},b[30]= {0},c[10]= {0};
printf("moi ban nhap ten cua ban nha :");
gets(name);
int d =strlen(name);
for(int i=0; i<d+1; i++)
{
if(name[i]==' ')
break;
a[i]=name[i];
dem++;
}
int j=0;
for(i=dem+1,j=0; i<d+1,j<10; i++,j++)
{
if(name[i]==' ')
break;
b[j]=name[i];
dem++;
}
for(i=dem+1,j=0; i<d+1,j<10; i++,j++)
{
c[j]=name[i];
}
printf("ho cua ban la :%s\n",a);
printf("ten dem cua ban la :%s\n",b);
printf("ten cua ban la :%s\n",c);
return 0;
}
đọn code này cahyj ổn ok luôn nhưng đây là đoạn code thứ 2
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
printf("xin chao cac ban moi cac ban nhap ten \n cac ban nhap thoe thu tu sau ho roi cach ten dem neu thi\n khong cach viet lien roi scah den ten nha\n\n ");
char name[30],a[10],b[30],c[10];
printf("moi ban nhap ten cua ban nha :");
gets(name);
int d=strlen(name);
for(int i=0; i<d+1; i++)
{
if(name[i]==' ')
break;
a[i]=name[i];
dem++;
}
int j=0;
for(i=dem+1,j=0; i<d+1,j<10; i++,j++)
{
if(name[i]==' ')
break;
b[j]=name[i];
dem++;
}
for(i=dem+1,j=0; i<d+1,j<10; i++,j++)
{
c[j]=name[i];
}
printf("ho cua ban la :%s\n",a);
printf("ten dem cua ban la :%s\n",b);
printf("ten cua ban la :%s\n",c);
return 0;
}
đoạn này lại chạy không hề ổn một tý nào cả
vi dụ tên mình là đõ minh nhiên
thì nó sẽ tách ra là đoa
minh
nhien mình vẫn chưa hiieur tại sao phần tên và phần đẹm nó lại tách ổn còn phần họ nó lại thêm vào đó một ký tự à
đây là chường trình mình viết chỉ áp dụng cho họ và tên có 3 từ thôi à chưa phát triển lên tổng quát
mong mọi người giúp đõ nha
(ở cuối).
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?