30/09/2018, 17:24

Nhập 1 chuỗi in ra chuỗi với thứ tự các từ trong chuỗi bị đảo ngược?

Em có một bài như thế này: nhập 1 chuỗi in ra chuỗi với thứ tự các từ trong chuỗi bị đảo ngược, VD:
input: nguyen hong hai
output: hai hong nguyen
em làm mãi nhưng output toàn bị ra kí tự lạ:

 #include <stdio.h>
#include <conio.h>
#include <string.h>
int main()
{
	int i, j;
	char a[100];
	printf("Enter the string: ");
	fflush(stdin);
	gets(a);
	i = strlen(a) - 1;
	while(i >= 0)
	{
		if(a[i-1] == ' ' && i != 0)
		{
			j = i;
			while(a[j] != ' ') 
			{
				printf("%c", a[j]);
				j++;
			}
			printf(" ");
		}
		else if(i == 0)
		{
			j = i;
			while(a[j] != ' ')
			{
				printf("%c", a[j]);
				j++;
			}
		}
		i--;
	}
}
Nguyễn Hồng Hải viết 19:26 ngày 30/09/2018

[quote=“Phantom, post:1, topic:8668”]

dòng include em copy bị lỗi một chút ạ!

*grab popcorn* viết 19:31 ngày 30/09/2018

Bôi đen toàn bộ code và Nhấn Ctrl + K để cho code dễ đọc

Trần Toàn viết 19:26 ngày 30/09/2018

Sửa code đọc cho dễ đi bạn

Nguyễn Hồng Hải viết 19:33 ngày 30/09/2018

dạ em vừa sửa rồi đấy ạ ^^

Trần Toàn viết 19:36 ngày 30/09/2018
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main()
{
	int i, j;
	char a[100];
	printf("Enter the string: ");
	fflush(stdin);
	gets(a);
	printf("%s\n",a);
	i = strlen(a) - 1;
	while(i >= 0)
	{
		if(a[i] == ' ' && i != 0)
		{
			
			j = i + 1;
			while(a[j] != ' ' && a[j] != '\0') 
 //Thêm vào && a[j] != '\0'
    			{
    				printf("%c", a[j]);
    				j++;
    			}
    			printf(" ");
    		}
    		else if(i == 0)
    		{
    			j = i;
    			while(a[j] != ' ')
    			{
    				printf("%c", a[j]);
    				j++;
    			}
    		}
    		i--;
    	}
    }

Sai ở dòng 19 đoạn kiểm tra a[j] trường hợp nó kết thúc chuỗi thì nó là NULL

Nguyễn Hồng Hải viết 19:27 ngày 30/09/2018

{
if(a[i] == ’ ’ && i != 0)
{

		j = i + 1;
		while(a[j] != ' ' && a[j] != '\0') 

//Thêm vào && a[j] != ‘\0’
{
printf("%c", a[j]);
j++;
}
printf(" “);
}
else if(i == 0)
{
j = i;
while(a[j] != ’ ')
{
printf(”%c", a[j]);
j++;
}
}
i–;
}
}

ồ em cảm ơn ạ ^^ 20 characters=))

Bài liên quan
0