编程-csdn上别人提的问题,大神,能帮我改改吗?

问题描述

csdn上别人提的问题,大神,能帮我改改吗?
 #include<stdio.h>
#include<stdlib.h>
int main()
{
    char s[]="I have an apple.Do you like apple?";
    char s1[]="apple";
    char s2[]="orange";
    int i,j,k,h,p,c;
    for(p=0;s[p]!='';)
        p++;
    for(i=0;s[i]!='';i++)
        for(j=i,k=0;s1[k]==s[j];k++,j++)
            if(s1[k+1]=='')
            {
                for(i=j-k,h=0;s[i]!=''&&s2[h]!='';)
                {
                    if(h>k)
                    {
                        for(c=p-1;c>=i;c--)
                            s[c+1]=s[c];
                    }
                    s[i++]=s2[h++];
                }
                break;
            }
    printf("%sn",s);
    system("pause");
    return 0;
}


解决方案

/*#include
#include
char s1[50];
char s2[]={'a','p','p','l','e'};
char s3[]={'o','r','a','n','g','e'};
char target [100];
int i=0,j,count=0;
int main()
{
gets(s1);
while(s1[i]!='')
{
if((s1[i]==s2[0])&&(s1[i+1]==s2[1])&&(s1[i+2]==s2[2])&&(s1[i+3]==s2[3])&&(s1[i+4]==s2[4]))
{
for(j=0;j<strlen(s3);j++)
{
target[count]=s3[j];
count++;
}
i=i+5;
}
else
{
target[count]=s1[i];
count++;
i++;
}
}
puts(target);
return 0;
}

解决方案二:

在字符串结尾加上一个''

解决方案三:

晕,看了下,算法都有问题

解决方案四:

http://codepad.org/WwJCWbQU

#include
#include
#include
#define MAX_MSG_LENGTH 1000

int main()
{
char sSrc[1000]="I have an apple.Do you like apple?";
char sMatchStr[]="apple";
char sReplaceStr[]="orange";
int StringLen;
char caNewString[MAX_MSG_LENGTH];
char *FindPos = strstr(sSrc, sMatchStr);
while (FindPos)
{
memset(caNewString, 0, sizeof(caNewString));
StringLen = FindPos - sSrc;
strncpy(caNewString, sSrc, StringLen);
char * sReplaceStr1 = (char *)malloc(sizeof(char) * (strlen(sReplaceStr) + 1));
strncpy(sReplaceStr1, sReplaceStr, (strlen(sReplaceStr) + 1));
strcat(caNewString, sReplaceStr1);
strcat(caNewString, FindPos + strlen(sMatchStr));
strcpy(sSrc, caNewString);
FindPos += strlen(sMatchStr);
FindPos = strstr(FindPos, sMatchStr);
}
printf("%sn",sSrc);
}

写了一个给你

解决方案五:

 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_MSG_LENGTH 1000

int main()
{
    char sSrc[1000]="I have an apple.Do you like apple?";
    char sMatchStr[]="apple";
    char sReplaceStr[]="orange";
    int  StringLen;
    char caNewString[MAX_MSG_LENGTH];
    char *FindPos = strstr(sSrc, sMatchStr);
    while (FindPos)
    {
        memset(caNewString, 0, sizeof(caNewString));
        StringLen = FindPos - sSrc;
        strncpy(caNewString, sSrc, StringLen);
        char * sReplaceStr1 = (char *)malloc(sizeof(char) * (strlen(sReplaceStr) + 1));
        strncpy(sReplaceStr1, sReplaceStr, (strlen(sReplaceStr) + 1));
        strcat(caNewString, sReplaceStr1);
        strcat(caNewString, FindPos + strlen(sMatchStr));
        strcpy(sSrc, caNewString);
        FindPos += strlen(sMatchStr);
        FindPos = strstr(FindPos, sMatchStr);
    }
    printf("%sn",sSrc);
}

解决方案六:

我按照我自己的改好了,我还是喜欢自己的算法,谢谢大家热心的回答

 #include<stdio.h>
#include<stdlib.h>
int main()
{
    char s[100]="I have an apple.Do you like apple?";
    char s1[]="apple";
    char s2[]="orange";
    int i,j,k,h,p,c;
    for(p=0;s[p]!='';)
        p++;
    for(i=0;i<p;i++)
        for(j=i,k=0;s1[k]==s[j];k++,j++)
            if(s1[k+1]=='')
            {
                for(i=j-k,h=0;i<p&&s2[h]!='';)
                {
                    if(h>k)
                    {
                        for(c=p-1;c>=i;c--)
                            s[c+1]=s[c];
                        p++;
                    }
                    s[i++]=s2[h++];
                }
                break;
            }
    for(i=0;i<p;i++)
        printf("%c",s[i]);
    printf("n");
    system("pause");
    return 0;
}

解决方案七:


你的算法也好

解决方案八:

caozhy,你的代码运行有问题

时间: 2025-01-30 09:04:51

编程-csdn上别人提的问题,大神,能帮我改改吗?的相关文章

http-scrapy上的一点问题,求大神解答,刚上csdn还没有金币,sorry

问题描述 scrapy上的一点问题,求大神解答,刚上csdn还没有金币,sorry 我用scrapy shell http://www.louisvuitton.cn/zhs-cn/products/tambour-large-quartz-brown-dial-leather-strap-002069, 通过response.body返回的代码被突然截断,和网页源代码不一样,那个网站稍微有点大,我怀疑是scrapy内部的原因.还有我的HTTP通过抓包是1.1的,和网上有个解答不同. 解决方案

网络编程 ping程序有点问题,求大神帮忙看看

问题描述 网络编程 ping程序有点问题,求大神帮忙看看 // ping.cpp : 定义控制台应用程序的入口点. #include "stdafx.h" #include #pragma comment(lib,"ws2_32") //定义ICMP首部 typedef struct icmp_hdr{ unsigned char icmp_type; //ICMP消息类型,回显请求:8,回显应答请求:0 unsigned char icmp_code; //代码,

单链表-请教C编程题,本人初学者,求大神解答,万分感谢

问题描述 请教C编程题,本人初学者,求大神解答,万分感谢 求大侠帮忙:C语言程序设计---编程题说明:以下所有题目程序应是非递归的) 编写一个函数,输出整数m的全部素数因子.例如,m=120时,素数因子为:2,2,2,3,5 请编写程序判断一个字符串是否是回文.若是回文,函数返回值为1,否则返回值为0.(回文是顺读和倒读都一样的字符串).要求: 1) 编写sub()判断一字符串是否为回文 2) 在主函数中完成数据的输入与结果的输出 3.起泡排序是把大的元素向下移,也可以将小的元素向上移,请给出下

c++-初学C++编程,有没有哪位大神愿意帮我看一下?

问题描述 初学C++编程,有没有哪位大神愿意帮我看一下? 一道双向链表的题目,我按刘汝佳书上的写的,基本上和刘汝佳写的程序没什么区别,不一样的地方我认为我这样写也没错,但是不知道为什么评测时标程就AC,我写的就WA,有没有前辈愿意帮我看一下哪里出了问题?不胜感激! 标程 // UVa12657 Boxes in a Line // Rujia Liu #include<cstdio> #include<algorithm> using namespace std; const in

ibm -在本地测试接口,返回值编码正常,部署到IBM aix上出现乱码 在线坐等大神回复

问题描述 在本地测试接口,返回值编码正常,部署到IBM aix上出现乱码 在线坐等大神回复 在本地测试接口,返回值编码正常,部署到IBM aix上出现乱码 在线坐等大神回复

ios-如何卸载 Xcode 上的 IOS 模拟器 求大神解答 谢谢

问题描述 如何卸载 Xcode 上的 IOS 模拟器 求大神解答 谢谢 如何卸载 Xcode 上的 IOS 模拟器 求大神解答 谢谢.网上真心找不到 方法啊 解决方案 把Xcode下的模拟器路径中的sdk删掉就行了,Contents/Developer/Platforms/iPhoneSimulator.platform/Developer 解决方案二:

出现频率-一道C语言编程题,本人初学者,求大神解答

问题描述 一道C语言编程题,本人初学者,求大神解答 编写程序实现功能:数据文件story.txt是一篇英文小故事,请先统计其中26个字母的出现次数. 要求一:再根据用户要求,输出某个字母的出现次数,直到用户输入#为止. 要求二:请输出出现频率最高的三个字母和它们的出现次数. 解决方案 #include #include #include int main() { int alpha[26]={0}; //用于计数26个字母出现的次数 FILE *text; //FILE 指针 char ch;

android-小波变换实现语音去噪在安卓平台上怎么实现?求大神指点~~

问题描述 小波变换实现语音去噪在安卓平台上怎么实现?求大神指点~~ 本人要在Android平台上实现小波变换的语音去噪方法,请问怎么实现?求大神指点~~ 解决方案 可以利用speex进行降噪处理

jdk环境配置,大神们帮看看,为什么我的配置不上呢?

问题描述 jdk环境配置,大神们帮看看,为什么我的配置不上呢? CLASS_PATH: 变量值:.;JAVA_HOME%lib;JAVA_HOME%libtools.jar JAVA_HOME: 变量值:D:Program FilesJavajdk1.6.0_10 path: 变量值:%SystemRoot%system32;%SystemRoot%;%SystemRoot%System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0;C:Prog