c17667 2021-05-29 16:06 采纳率: 50%
浏览 613
已采纳

从键盘输入一个字符串,字符串的每两个字符之间都插入一个空格

从键盘输入一个字符串,然后在字符串的每两个字符之间都插入一个空格,如原串为abcd,则新串为a b c d。
//要求用函数和指针来完成。写出主函数。
//算法提示:
//1)利用循环for(i=strlen(p);i>0;i--)遍历从最后一个字符开始至第二个字符;
//2)下标为i位置上的字符,应存储到下标为2*i位置上,即*(p+2*i)=*(p+i);
//3)对于插入空格的位置,从后面开始,下标规律为2*i-1,即*(p+2*i-1)=' '。

#include <stdio.h>
#include <string.h>
void main()
{

}
void cr(char *p)   //定义函数,插入空格
{  int i;
   for(i=strlen(p);i>0;i--)
   {  *(p+2*i)=*(p+i); 
      *(p+2*i-1)=' ';}
}


 

 

  • 写回答

3条回答 默认 最新

  • 关注
    #include <stdio.h>
    #include <string.h>
    void cr(char *p);
    void main()
    {
        char s[10];
    	printf("输入字符串:");
    	gets(s);
        cr(s);
    	printf("%s",s);
    
    }
    void cr(char *p)   //定义函数,插入空格
    {  int i;
       for(i=strlen(p);i>0;i--)
       {  *(p+2*i)=*(p+i);
          *(p+2*i-1)=' ';}
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?