利用函数和指针编写程序,从键盘输入一个字符串,然后按照下面要求输出一个新宇符串。新串是在原串中,每两个字符之间插入一个空格,如原串为 abcd,则新串为 a口bDe口d(口为空格)。 #include<stdio.h> 29/49 void fun(char *s) void main) char a[20]; printf("请输入一个字符串:n"); gets(a); fun(a); printic新宁符串是:1": puts(a);
时间: 2023-11-27 10:54:37 浏览: 83
以下是程序代码:
```c
#include <stdio.h>
void fun(char *s);
int main()
{
char a[20];
printf("请输入一个字符串:\n");
gets(a);
fun(a);
printf("新字符串是:%s\n", a);
return 0;
}
void fun(char *s)
{
int i, j;
for(i = 0, j = 1; s[i] != '\0'; i += 2, j += 2)
{
char tmp = s[i+1];
s[i+1] = ' ';
s[j] = tmp;
}
}
```
程序中,`fun` 函数实现原字符串的转换,使用了两个指针 `i` 和 `j` 分别指向原字符串和新字符串中的字符位置。使用循环遍历原字符串,每次将原字符串中的两个字符中间插入一个空格,然后将转换后的字符存入新字符串中。最后在 `main` 函数中输出转换后的新字符串。注意,使用 `gets` 函数输入字符串存在安全问题,不建议使用,可以考虑使用 `fgets` 替代。
阅读全文