Nhờ sửa code xóa khoảng trắng khỏi chuỗi

#include<stdio.h>
#include<string.h>
int main()
{
	char a[100];
	int n;
	printf("Nhap chuoi : ");
	gets(a);
	n= strlen(a);
	for(int i=0;i<n;i++)
	{
		if(a[i]==32) 
		{
			for(int j=i;j<n;j++)
			{
				a[j]=a[j+1];
			}
			n--;
		}
	}
	puts(a);
	printf("%d",strlen(a));
}

Chuỗi kết quả có phải sẽ là: NguyenThiTuyen không?

Sao khi xóa 1 khoảng trắng thì tại vị trí i vẫn là khoảng trắng. Bạn lặp đến vị trí tiếp theo và chưa xóa khoảng trắng ấy.

2 Likes

mình ko biết cách sửa, bạn giúp mình với ạ @SITUVN.gcd

Thêm i--; sau dòng n--; thử xem.

Quan trọng là bạn có hiểu vấn đề chưa???

4 Likes

hay quá :laughing: :laughing: mình hiểu r cảm ơn bạn nhiều nha
:smiling_face_with_three_hearts:

A post was split to a new topic: Code nhập vào 1 chuỗi nếu có khoảng trắng thì nhập lại bị sai

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?