题解 | #字符串变形#
字符串变形
https://www.nowcoder.com/practice/c3120c1c1bc44ad986259c0cf0f0b80e
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @param n int整型
* @return string字符串
*/
char* trans(char* s, int n ) {
// write code here
char p[n];
int i=0;
int j=n;
//大小写转换,逆序输入到p
while(i<j){
if(s[i]!=' '){
if(s[i]>=65&&s[i]<97){
s[i]+=32;
}else{
s[i]-=32;
}
}
p[--n]=s[i];
i++;
}
//字符串最后一个字符是'\0'
p[j]=s[j];
int b=j;
i=j-1;
while(i>-1){//从字符串末尾开始遍历,遇到空格开始赋值
if(p[i]==' '){//遇到空格就将空格前的字符逆序输入到s对应位置
int a=i;
int num=a;
while(a<b){
s[a]=p[b-a+num];//将空格前字符逆序输入
a++;
}
b=i;
s[i]=p[i];//对应位置空格赋值
}
i--;
}
printf("\n%s",s);
//i=0;
//最后一个空格及后面的赋值
while(i<b){
i++;
s[i]=p[b-i-1];
}
s[b]=p[b];
return s;
}
CVTE公司福利 732人发布