30/09/2018, 16:23
Làm thế nào để chèn chuỗi 2 vào chuỗi 1 tại vị trí vt?
Đề bài:Nhập từ bàn phím nội dung của chuỗi chuoi1
, chuoi2
, số nguyên dương vt
.Sau đó chèn chuỗi chuoi2
vào chuoi1
tại vị trí vt
.Mình đã làm như sau:
void chen(char chuoi1[]){
int vitri;
char tam[255]="",chuoi2[255]="";
printf("Nhap noi dung cua chuoi can chen: ");
gets(chuoi2);
printf("Nhap vi tri can chen: ");
scanf("%d",&vitri);
strcpy(tam,chuoi1+vitri-1);
strcpy(chuoi1+vitri-1,chuoi2);
strcat(chuoi1,tam);
puts(chuoi1);
}
int main(){
char chuoi1[]="le van bao";
chen(chuoi1);
return 0;
}
Mình thắc mắc là vị trí chèn vt
sẽ trùng với vị trí của phần tử chuoi1[vt]
hay là trùng với vị trí của phần tử chuoi1[vt-1]
.
Ở đây mình code theo hướng là vị trí chèn vt
trùng với vị trí phần tử chuoi1[vt-1]
Cụ thể:
INPUT:
Nội dung của chuỗi 1:le van bao
Nội dung của chuỗi 2:bao
vị trí chèn tức là giá trị của biến vt=4.
OUTPUT:
le baovan bao
Nhờ mọi người kiểm tra giúp mình với.
Bài liên quan
Chèn vào vị trí đâu là vị trí thì chèn thôi. Sau khi chèn bạn phải đếm làm sao chuỗi cần chèn đúng ở vị trí vt.
Do bạn không làm cấp phát động, bạn nên kiểm tra xem tổng độ dài 2 chuỗi có vượt quá giới hạn chuỗi 1 không!
mọi người giải thích giúp em chỗ chuoi1+vitri-1 với ạ
Vì trong máy đánh số từ 0 và người ta đánh số từ 1.