从键盘输入一个字符串,然后在输入的字符串中每两个字符之间插入一个空格。 如:原串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;
}