垚138 2021-03-05 14:40 采纳率: 0%
浏览 410

编写函数,统计字符串s中指定子串s1出现的次数,并将指定子串s1替换成新的子串s2。

a.题已经完成并正确,但老师要求使用函数调用

b.第二步我复制了两次,老师说可以在简化简化

c.尽量在原程序上更改,通俗易懂

#include <stdio.h>
#include <string.h>
void main()
{
    char s[300],s1[50],s2[60],a[300];
    int m,n,i,j,k,num=0;
    printf("Input strings s,s1,s2:\n");
    scanf("%s%s%s",s,s1,s2);
    m=strlen(s1);
    n=strlen(s2);
for(i=0;s[i]!='\0';i++)
{
for(j=i,k=0;s[j]==s1[k];j++,k++)
{
        if(s1[k+1]=='\0')
        num++;
}
}
    for(j=i=0;s[i];i++)
{
        if(strncmp(s+i,s1,m)==0)
{
            strcpy(a+j,s2);
            j+=n;
            i+=m-1;
        }
        else a[j++]=s[i];
    }
    a[j]='\0';
    strcpy(s,a);
printf("s1在s出现的次数为%d\n",num);
    printf("替换成的结果为:%s\n",s);
    return 0;
}
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 16:41
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入