01/10/2018, 12:22

Code đảo ngược các kí tự của mỗi từ trong chuỗi cho kết quả của em thiếu mất một từ

void daoNguocTu(char a[], char b[],char c[])
{
	int j = 0;
	int k = 0;
	int length = strlen(a);
	for (int i = 0; i <= length; i++)
	{
		if (a[i] != ' ')
		{
			b[j] = a[i];
			j++;
		}
		else
		{
			b[j] = '';
			_strrev(b);
			strcat(c, b);
			strcat(c, " ");
			j = 0;
			remove;
		}
	}
	puts(c);
}

Thân Hoàng viết 14:36 ngày 01/10/2018

bạn làm phức tạp thế, sao không chạy như thế này:
for(i=0;i<len(a);i++) b[i] = a[len(a)-i-1];

Ngọc Mạnh Nguyễn viết 14:34 ngày 01/10/2018

Mỗi từ trong chuỗi mà bạn?

HK boy viết 14:34 ngày 01/10/2018

Up cả code lên đây xem nào. Chắc chắn lúc nạp vào hàm này bạn thiếu mất 1 từ.

Ngọc Mạnh Nguyễn viết 14:33 ngày 01/10/2018

Nạp không thiếu, nhưng cái điều kiện của mình dựa vào dấu cách nên từ cuối cùng nó không thực hiện được, mình không biết sửa điều kiện như thế nào cho đúng

HK boy viết 14:29 ngày 01/10/2018

int length = strlen(a);
for (int i = 0; i <= length; i++)

Thêm dấu cách vào cuối a trước khi gán length, và chạy vòng for đến < length thôi.

Ngọc Mạnh Nguyễn viết 14:37 ngày 01/10/2018

Giả sử người dùng không nhập dấu cách ở cuối chuỗi a =))

HK boy viết 14:29 ngày 01/10/2018

Đừng giả sử. Kiểm tra xem người dùng có nhập dấu cách ở cuối hay không đã.

Ngọc Mạnh Nguyễn viết 14:38 ngày 01/10/2018

Nhưng mà làm gì có ai nhập thêm dấu cách cuối cùng làm gì đâu :((

HK boy viết 14:37 ngày 01/10/2018

Thế tóm lại là chỉ cần thêm dấu cách vào cuối để xử lí thôi chứ có gì đâu phải lăn tăn.

Ngọc Mạnh Nguyễn viết 14:30 ngày 01/10/2018

Người nhập luôn luôn đúng mà =))

HK boy viết 14:22 ngày 01/10/2018

Người nhập luôn luôn đúng mà =))

Sai bét. Mình nhập vào thế này:

"  ai  bao la  nguoi             nhap      luon    luon      dung           "

Bạn có chắc là tất cả mọi người dùng đều nghiêm túc không?

Ngọc Mạnh Nguyễn viết 14:26 ngày 01/10/2018

Mình chỉ muốn sửa code đúng cho trường hợp, không muốn sửa theo cách nhập của bạn

rogp10 viết 14:33 ngày 01/10/2018

Thớt dựa vào hàm hơi nhiều. Còn chèn vào chuỗi mà gặp const là tiêu.

Nhìn theo trạng thái thì bài này có hai trạng thái là whiteSpace và Word. Để vào & giữ trạng thái S thì phải có whitespace. Định nghĩa như vậy là vì chỉ có whitespace với non-whitespace.

Ngọc Mạnh Nguyễn viết 14:38 ngày 01/10/2018

Vậy có thể hướng cho mình cách làm dễ hiểu hơn được không ạ

Manh Nguyen Duy viết 14:25 ngày 01/10/2018

Sửa điều kiện là khác space hoặc khác NULL

Bài liên quan
0