定义函数char*fun(char*str),依次交换字符串str中前后对应奇数位置上的元素,并在函数中分别输出原字符串和执行互换后的字符串
时间: 2024-05-16 10:15:16 浏览: 6
以下是一个可能的实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
char* fun(char* str) {
int len = strlen(str);
for (int i = 0; i < len - 1; i += 2) {
char temp = str[i];
str[i] = str[i + 1];
str[i + 1] = temp;
}
cout << "Original string: " << str << endl;
return str;
}
int main() {
char str[] = "hello world";
char* result = fun(str);
cout << "Swapped string: " << result << endl;
return 0;
}
```
在这个实现中,我们首先计算字符串的长度,然后使用一个循环来依次交换前后对应奇数位置上的元素。在每次交换之后,我们都会打印出原字符串和当前的字符串。最后,我们返回经过交换后的字符串,并在主函数中打印出来。
相关问题
C语言编写一个函数fun(char* s),该函数的功能是把字符串中的内容逆置
你可以使用指针来实现字符串的内容逆置。以下是一个用C语言编写的函数`fun`的示例代码:
```c
#include <stdio.h>
#include <string.h>
void fun(char* s) {
int length = strlen(s);
char* start = s;
char* end = s + length - 1;
while (start < end) {
char temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
char str[] = "Hello, World!";
printf("原始字符串:%s\n", str);
fun(str);
printf("逆置后的字符串:%s\n", str);
return 0;
}
```
在这个示例中,函数`fun`接受一个字符指针`s`作为参数,代表要逆置的字符串。首先,使用`strlen`函数获取字符串的长度。然后,使用两个指针`start`和`end`分别指向字符串的首尾字符。通过交换`start`和`end`指向的字符,并且让`start`指针向后移动,`end`指针向前移动,直到`start`指针不再小于`end`指针为止,完成字符串内容的逆置。
在`main`函数中,我们定义了一个字符串`str`,并将其作为参数传递给函数`fun`进行逆置。最后,打印逆置后的字符串结果。
运行上述代码,输出结果如下:
```
原始字符串:Hello, World!
逆置后的字符串:!dlroW ,olleH
```
希望能帮助到你!如有任何疑问,请随时提问。
请编写函数void fun(char *s),将其中所有空格删除,在主函数中完成字符串的输入及输出。
好的,下面是函数的实现:
```c
void fun(char *s) {
char *p = s; // 指向字符串起始位置的指针
while (*p != '\0') { // 遍历整个字符串
if (*p != ' ') { // 如果当前字符不是空格
*s++ = *p; // 将当前字符复制到新的位置
}
p++; // 移动指针
}
*s = '\0'; // 在新的字符串结尾添加'\0'
}
```
在主函数中,可以这样调用函数:
```c
int main() {
char str[100];
printf("请输入字符串:");
scanf("%[^\n]", str); // 输入字符串,可以含有空格
fun(str); // 调用函数删除空格
printf("删除空格后的字符串为:%s\n", str); // 输出结果
return 0;
}
```
注意,scanf函数中的"%[^\n]"表示输入一行字符串,直到遇到换行符为止。这样可以保证输入的字符串中包含空格。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)