C语言把一个字符串中的单词逆序(难)

Input:

输入有包括多组数据。每组数据包括一行字符串。

Output:

输出加密后的字符串。

Sample Input:
I Love You
Sample Output:
I evoL uoY
解析:利用数组计数,把非空格的字符记下来,空格代表一个间断,经过空格后计数要重新开始
完整代码:
#include <stdio.h>
#include <string.h>

void main()
{
	int i,j,k;
	char a[1000];
	while(gets(a) != NULL)
	{
		int l=strlen(a);
		for(i=0;i<l;i++)
		{
			k=0;
			if(a[i]>=‘a‘ && a[i]<=‘z‘ || a[i]>=‘A‘ && a[i]<=‘Z‘)
			{
				for(j=i;j<l;j++)
				{
					if(a[j]>=‘a‘ && a[j]<=‘z‘ || a[j]>=‘A‘ && a[j]<=‘Z‘)
					{
						k++;
					}else
					{
						break;
					}
				}
				int t;
				for(t=i+k-1;t>=i;t--)
				{
					printf("%c",a[t]);
				}
				i=i+k-1;
			}else
			{
				printf("%c",a[i]);
			}
		}
		printf("\n");
	}
}