从键盘输入一个字符串,然后在输入的字符串中每两个字符之间插入一个空格。 如:原串aabbcc,要求输

从键盘输入一个字符串,然后在输入的字符串中每两个字符之间插入一个空格。
如:原串aabbcc,要求输

问题描述:

从键盘输入一个字符串,然后在输入的字符串中每两个字符之间插入一个空格。 如:原串aabbcc,要求输出的新串为a a b b c c 。 输出提示:  for(i=0;i #include void main() { char s[100]; gets(s); int i; for(i=0;i

     从键盘输入一个字符串,然后按照下面要求输出一个新字符串,新串是在原串中,每两个字符之间插入一个空格,如原串为abcd,则新串
     为a b c d. 要求在函数insert中完成新串的产生,并在函数中完成所有相应的输入和输出。

#include<stdio.h>
#include<string.h>
int insert(char a[]);

int main()
{
	char a[100];
	printf("输入:");
	scanf("%s",a);
	insert(a);
	printf("%s", a);
}
int insert(char a[])
{
	int i;
	for (i = strlen(a); i >0; i--)
	{
		a[2 * i] = a[i];
	a[2 * i - 1] = ' ';
	}
	return a[100];
}

代码如下:

#include <stdio.h>
#include <string.h>
int main()
{
	int len,i,index = 0;
	char buf[100] = {0};
	printf("请输入字符串:");
	gets(buf);
	len = strlen(buf);
	char* p = new char[2*len];
	for (i = 0; i < len;i++)
	{
		if (i != 0 && i%2 == 0)
		{
			p[index] = ' ';
			index++;
		}
		p[index] = buf[i];
		index++;
	}
	p[index] = '\0';

	printf("修改后的字符串:%s\n",p);
	delete[] p;
	return 0;
}