.利用函数和指针编写程序,从键盘输入一个字符串,然后按照下面要求输出一个新字符串。新串是在原串中,每两个宇符之间插入一个空格,如原串为 abcd,则新串为a口b 口cOd(口为空格)。 #includestdio.h> void fun(char *) void main) char a[201; printf"清輸入一个字符串:In”); gets(a); fun(a); printf "新字符串是:In'); puts(a);
时间: 2023-11-22 19:56:58 浏览: 85
以下是程序的完整代码:
```c
#include <stdio.h>
#include <string.h>
void fun(char *str) {
int len = strlen(str);
for (int i = len - 1; i >= 0; i--) {
str[i * 2 + 2] = str[i];
str[i * 2 + 1] = ' ';
}
str[len * 2] = '\0';
}
int main() {
char str[201];
printf("请输入一个字符串:");
gets(str);
fun(str);
printf("新字符串是:%s\n", str);
return 0;
}
```
程序的核心部分是 `fun` 函数,它会将原串中的每两个字符之间插入一个空格,然后将新串直接保存在原串中。具体实现方法是从原串的末尾开始往前遍历,每次将当前字符复制到新串的对应位置,并在其前面插入一个空格。
在主函数中,我们首先从键盘输入一个字符串,并调用 `fun` 函数将其转换为新字符串,最后输出新串。需要注意的是,由于新串的长度可能比原串长,我们需要在原串的末尾加上一个空字符,以确保输出结果正确。
相关问题
利用函数和指针编写程序,从键盘输入一个字符串,然后按照下面要求输出一个新字符串。新串是在原串中,每两个宇符之间插入一个空格,如原串为 abcd,则新串为a口b 口cOd(口为空格)。
下面是一个实现该功能的 C 语言程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void insert_space(char *str);
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
insert_space(str);
printf("新字符串为:%s\n", str);
return 0;
}
void insert_space(char *str) {
int len = strlen(str);
int i;
for (i = 1; i < len; i += 2) {
memmove(str + i + 1, str + i, len - i);
str[i] = ' ';
len++;
}
}
```
程序首先要求用户输入一个字符串,然后调用 `insert_space` 函数处理该字符串。`insert_space` 函数接受一个指向字符串的指针作为参数,然后对该字符串进行修改,将每两个字符之间插入一个空格。
实现方式是从第二个字符开始,每隔一个字符就将其后面的所有字符向右移动一个位置,并在当前位置插入一个空格。由于每次插入一个字符后字符串长度都会增加 1,所以需要在循环中更新字符串长度。
最后,程序输出修改后的新字符串。
从键盘输入一个字符串,实现利用字符指针将字符串的字符顺序逆置并输出
可以按照以下步骤实现:
1. 从键盘输入一个字符串,可以使用scanf或者gets等函数。
2. 定义一个字符指针,指向字符串的首地址。
3. 定义两个变量i和j,分别指向字符串的首尾字符。
4. 使用while循环,交换i和j所指向的字符,并将i和j分别向中间移动,直到i>=j。
5. 输出逆置后的字符串,可以使用puts或者printf等函数。
示例代码如下:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
char *p = str;
int i = , j = strlen(str) - 1;
while (i < j)
{
char temp = *(p + i);
*(p + i) = *(p + j);
*(p + j) = temp;
i++;
j--;
}
printf("逆置后的字符串为:%s\n", str);
return ;
}
```
相关推荐
![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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)