用c语言写一个函数,要求传入的参数为一个只有单词的字符串和一个整数,整数为字符串的长度,该函数的功能为将字符串组成的句子的最后一个单词变为第一个单词,并返回该字符串
时间: 2023-03-29 20:03:40 浏览: 103
以下是用 C 语言编写的函数,可以实现将字符串组成的句子的最后一个单词变为第一个单词,并返回该字符串:
```c
#include <stdio.h>
#include <string.h>
char* reverse_last_word(char* str, int len) {
int i, j;
char temp;
// 找到最后一个单词的起始位置
for (i = len - 1; i >= ; i--) {
if (str[i] == ' ') {
break;
}
}
// 将最后一个单词移到字符串开头
for (j = i + 1; j < len; j++) {
temp = str[j];
str[j] = str[j - i - 1];
str[j - i - 1] = temp;
}
// 将整个字符串反转
for (i = , j = len - 1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
return str;
}
int main() {
char str[] = "hello world";
int len = strlen(str);
printf("%s\n", reverse_last_word(str, len));
return ;
}
```
该函数的实现思路是先找到最后一个单词的起始位置,然后将最后一个单词移到字符串开头,最后将整个字符串反转即可。
阅读全文