//思路:首先创建一个新的字符串
//从后往前遍历s字符串,一旦碰到空格就将空格后面的字符存入到str字符串中
//依次往复,直到存放到最前面一个单词为止
//将最前面的单词存放进去
//最后将str拷贝到s中
//返回s即可
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @param n int整型
* @return string字符串
*/
char* trans(char* s, int n ) {
// write code here
char str[n+1];
int k = 0;
//前面单词的情况
int i = 0;
for (i = n - 1; i >= 0; i--)
{
if (s[i] == ' ')
{
int j = 0;
for (j = i+1; j < n; j++)
{
if (s[j] == ' ') break;
else str[k++] = s[j];
}
str[k++] = ' ';
}
}
//最前面一个单词的情况
for (i = 0; i < n; i++)
{
if (s[i] == ' ') break;
else str[k++] = s[i];
}
str[n] = '\0';
//将str中的大写转小写
for (i = 0; i < k; i++)
{
if (str[i] >= 'a' && str[i] <= 'z')
{
str[i] = str[i] - 32;
}
else if (str[i] >= 'A' && str[i] <= 'Z')
{
str[i] = str[i] + 32;
}
}
strcpy(s, str);
return s;
}