m0_68612734 2022-05-11 14:02 采纳率: 100%
浏览 310
已结题

用指针的形式将字符串中的*全部移动到尾部

字符串s中只能存入字母和,利用指针的方式将s中的全部移动到字母的尾部。例如s中输入* * abc * de,处理后输出s为abcde * * * * *。下面给出主函数,需要写出fun函数。要求用指针的形式,不用下标的形式。

void main()

{

char s[50];

scanf("%s",s);

fun(s);

printf("%s",s);

}

  • 写回答

1条回答 默认 最新

  • 吕布辕门 后端领域新星创作者 2022-05-11 14:29
    关注
    #include <stdio.h>
    
    void fun1(char s[]);         //函数申明
    
    int main()
    {
        char s[50];
        printf("输入字符串\n");
        scanf("%s",s);
        fun(s);
        printf("排序后\n");
        printf("%s",s);
        return 0;
    }
    
    
    void fun(char s[])
    {
        char t1[50],t2[50];                  
        int m=0,n=0,i;                        //m统计数字个数, //n统计字母个数
        for(i=0;s[i]!='\0';i++)
            if(s[i]=='*')
                t1[m++]='*';
            else t2[n++]=s[i];
    
        t1[m]='\0';                          //字符串结束符
        t2[n]='\0';
    
        for(i=0;i<n;i++)                   //将数组t1,t2合并到数组s
            s[i]=t2[i];
        for(i=0;i<m;i++)
            s[n+i]=t1[i];
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月11日
  • 已采纳回答 5月11日
  • 赞助了问题酬金5元 5月11日
  • 创建了问题 5月11日

悬赏问题

  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)
  • ¥15 找一位技术过硬的游戏pj程序员
  • ¥15 matlab生成电测深三层曲线模型代码