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

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

字符串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 App的会员连续扣费
  • ¥15 不同数据类型的特征融合应该怎么做
  • ¥15 用proteus软件设计一个基于8086微处理器的简易温度计
  • ¥15 用联想小新14Pro
  • ¥15 multisim中关于74ls192n和DSWPK开关仿真图分析(减法计数器)
  • ¥15 基于8255的交通灯设计
  • ¥15 w3wp,exe 中发生未处理的 Microsoft ,NETFramework 异常。
  • ¥20 C51单片机程序及仿真(加减器)
  • ¥15 AQWA | 水动力分析 二阶波浪力
  • ¥15 c语言题目:成绩管理系统