C Language Logo
C语言二级在线二级在线
首页选择题程序题成为会员帮助其他科目

字符串复制并插入空格

请修改编辑器中的代码,完成以下功能:编写一个程序,将输入字符串中的每隔三个字符插入一个空格,生成新的字符串。程序通过函数fun实现,函数接受两个参数:指向输入字符串的指针p和指向输出字符串的指针b。程序首先读取用户输入的字符串,然后调用fun函数处理该字符串,并输出处理后的结果。 输入格式:输入一行不超过79个字符的ASCII字符串,本题沿用支持gets的旧版C环境。 输出格式:输出处理后的字符串,其中每隔三个字符插入一个空格。 输入示例: hello12345 输出示例: Enter a string: The original string: hello12345 The string after insert space: hel lo1 234 5

#include <stdio.h>
#pragma warning (disable:4996)
void  fun(char  *p, char  *b)
{  int   i, k=0;
   while(*p)
   {  i=1;
      while( i<=3 && *p ) {
          b[k]=p;
          k++; p++; i++;
      }
      if(*p)
     {
         b[k++]=" ";
      }
    }
    b[k]='\0';
}
int main(void)
{  char  a[80],b[106];
   printf("Enter a string:      ");  gets(a);
   printf("The original string: ");  puts(a);
   fun(a,b);
   printf("\nThe string after insert space:   ");  puts(b); printf("\n\n");
   }

控制台

调试终端

准备就绪