在c语言中用gets函数输入一个字符串保存在str1数组,将str1去除其中空格字符后保存到str2数组,然后输出两个字符串,要求将去空格转存部分代码写成自定义函数removesp
时间: 2023-12-14 12:40:17 浏览: 40
以下是实现要求的代码:
```c
#include <stdio.h>
#include <string.h>
void removesp(char str1[], char str2[]) {
int len1 = strlen(str1);
int j = 0;
for (int i = 0; i < len1; i++) {
if (str1[i] != ' ') {
str2[j++] = str1[i];
}
}
str2[j] = '\0';
}
int main() {
char str1[100], str2[100];
printf("请输入一个字符串:");
gets(str1);
removesp(str1, str2);
printf("原字符串为:%s\n", str1);
printf("去除空格后的字符串为:%s\n", str2);
return 0;
}
```
函数`removesp`将输入的字符串`str1`中的空格字符去掉后存入`str2`中,传入的两个数组都应该是字符数组,函数不需要返回值。在函数中,我们使用两个循环变量`i`和`j`,分别遍历`str1`和`str2`,当`str1[i]`不是空格字符时,将其存入`str2[j]`中,同时将`j`自增1。最后在`str2[j]`处添加上字符串结束符`\0`。
相关问题
在c语言中用gets 函数输入一个字符串保存在str1数组,倒序保存到str2数组,然后输出两个字符串,要求将倒序保存部分代码写成自定义函数形式void revstr (char s1[],char s2[])
以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
void revstr(char s1[], char s2[]);
int main() {
char str1[100], str2[100];
printf("Please input a string: ");
gets(str1);
revstr(str1, str2);
printf("Original string: %s\n", str1);
printf("Reversed string: %s\n", str2);
return 0;
}
void revstr(char s1[], char s2[]) {
int len = strlen(s1);
for (int i = 0; i < len; i++) {
s2[i] = s1[len - i - 1];
}
s2[len] = '\0';
}
```
在这个程序中,我们首先使用 `gets` 函数输入一个字符串并保存在 `str1` 数组中。然后,我们调用 `revstr` 函数将 `str1` 中的字符串倒序保存到 `str2` 数组中。最后,我们输出原始字符串和反转后的字符串。
`revstr` 函数接受两个参数,即需要反转的字符串 `s1` 和反转后的结果字符串 `s2`。在函数中,我们首先计算 `s1` 的长度,并使用一个循环从字符串的末尾开始将字符逐个复制到 `s2` 中,直到整个字符串都被反转。最后,我们在 `s2` 的末尾添加一个空字符,以使其成为一个有效的 C 字符串。
c语言输入两个字符串str1和str2,将字符串str2倒置后接在字符串str1后面。
可以使用C语言的字符串函数来实现这个问题,具体步骤如下:
1. 使用`gets()`函数分别输入两个字符串`str1`和`str2`。
2. 使用`strlen()`函数获取字符串`str2`的长度。
3. 使用循环将字符串`str2`倒置。
4. 使用`strcat()`函数将倒置后的字符串`str2`和字符串`str1`连接起来。
5. 输出连接后的字符串`str1`。
下面是代码示例:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str1[100], str2[100];
int len, i;
// 输入两个字符串
printf("请输入两个字符串:\n");
gets(str1);
gets(str2);
// 获取字符串str2的长度
len = strlen(str2);
// 将字符串str2倒置
for (i = 0; i < len / 2; i++) {
char temp = str2[i];
str2[i] = str2[len - i - 1];
str2[len - i - 1] = temp;
}
// 将倒置后的字符串str2和字符串str1连接起来
strcat(str1, str2);
// 输出连接后的字符串str1
printf("连接后的字符串为:%s\n", str1);
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)