问题标题: 酷町堂:1089 偷天换日 Wrong Answer:50分

0
0
已解决
王子健
王子健
初级天翼
初级天翼
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define N 3333
char s[N], a[2], b[2];
int main()
{
while(scanf("%s%s%s", s, a, b)!=EOF)
{
int len = strlen(s);
int i;
for(i = 0; i < len; i++) printf("%c", s[i] == a[0] ? b[0] : s[i]);
puts("");
}
return 0;
}

大神们那,我写的代码有什么问题

望你们告知

一定要准确准确再准确

如果我满意,必当采纳你的(20酷町豆)

@周建勋 

@王子涵

@贾志骜 


0
已采纳
王子翔
王子翔
新手光能
新手光能
char a[99],b,d;
    int i;
    gets(a);
    cin>>b>>d;
    for(i=0;i<=strlen(a);i++)
    {
    if(a[i]==b)
    a[i]=d;
    }
    puts(a);
记住头文件<bits/stdc++.h>

 

0
李恩泽
李恩泽
修练者
修练者

核心部分

for(int i=0;i<strlen(a);++i)
        if(a[i]==c)
            a[i]=b;

做题时记住万能头文件#include<bits/stdc++.h>

求采纳

0
黄逸民
黄逸民
修练者
修练者

emmm……

C语言是不是没有string……

那行,字符数组一个样。

首先,定义:

char s[105]; //原题中说不超过100
char a,b;    //只有一个字符,不用开数组,其中a,b表示把a换成b

核心代码部分:

for(i=0; i<len; i++){ //遍历整个s数组
    if(s[i] == a)     //如果当前遍历到的是要替换的字符
        s[i] = b;     //替换为目标字符
}

然后再把修改过的s数组输出就行了。

就是这样,喵。

望采纳。

0
0
夏子健
夏子健
初级光能
初级光能


    getline(cin,a);
    cin>>b>>c;
    l=a.size();
    for(i=0;i<l;i++)
    {
        if(a[i]==b)
        {
            a[i]=c;
        }
    }//要加string和cstdio头文件

0
方亦欧
方亦欧
新手光能
新手光能

既然是C语言,就没法帮忙了

给你发一个C++的,以供参考:

 gets(a);
 cin>>ch1>>ch2;
 len=strlen(a);
 for(i=0;i<len;i++)
    if(a[i]==ch1)
        a[i]=ch2;

 

我要回答