利用函数和指针编写程序,从键盘输入一个字符串,然后按照下面要求输出一个新字符串。新串是在原串中,每两个宇符之间插入一个空格,如原串为 abcd,则新串为a口b 口cOd(口为空格)。
时间: 2023-11-27 07:49:18 浏览: 93
从键盘输入一个字符串,如“www.moe.gov.cn”,编写程序,实现如下功能
下面是一个实现该功能的 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,所以需要在循环中更新字符串长度。
最后,程序输出修改后的新字符串。
阅读全文