鱼C论坛

 找回密码
 立即注册
查看: 1070|回复: 2

[已解决]这个题要怎么做啊

[复制链接]
发表于 2023-10-26 17:14:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
        代码填空
要求输入一个字符串S和两个字符A和B,补足程序中缺失的代码部分,使运行程序时可以将字符串S中的字符A替换为字符B。
#include<stdio.h>
int main()
{
        char s[50],a,b,*p;
        gets(s);
        scanf("%c %c",&a,&b);
        for()
                if()
                
        puts(s);
}
最佳答案
2023-10-26 17:14:56
题目要求输入一个字符串S和两个字符A和B,然后将字符串S中的字符A替换为字符B。我们需要填写代码部分来完成这个任务。
#include <stdio.h>

int main()
{
    char s[50], a, b, *p;
    gets(s);
    scanf("%c %c", &a, &b);
    for (p = s; *p != '\0'; p++)
    {
        if (*p == a)
        {
            *p = b;
        }
    }
    puts(s);
}

解释:

1. 首先,我们定义了一个字符数组  s ,用来存储输入的字符串。
2. 然后,我们使用  gets(s)  函数来获取输入的字符串。
3. 接下来,我们使用  scanf("%c %c", &a, &b)  来获取输入的两个字符A和B。
4. 然后,我们使用一个循环来遍历字符串  s  中的每个字符。我们使用指针  p  来指向当前遍历的字符。
5. 在循环中,我们使用  if (*p == a)  来判断当前字符是否等于字符A。如果是,就将当前字符替换为字符B,即  *p = b 。
6. 最后,我们使用  puts(s)  来输出替换完成后的字符串。

这样,代码就完成了将字符串S中的字符A替换为字符B的任务。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-10-26 17:14:56 | 显示全部楼层    本楼为最佳答案   
题目要求输入一个字符串S和两个字符A和B,然后将字符串S中的字符A替换为字符B。我们需要填写代码部分来完成这个任务。
#include <stdio.h>

int main()
{
    char s[50], a, b, *p;
    gets(s);
    scanf("%c %c", &a, &b);
    for (p = s; *p != '\0'; p++)
    {
        if (*p == a)
        {
            *p = b;
        }
    }
    puts(s);
}

解释:

1. 首先,我们定义了一个字符数组  s ,用来存储输入的字符串。
2. 然后,我们使用  gets(s)  函数来获取输入的字符串。
3. 接下来,我们使用  scanf("%c %c", &a, &b)  来获取输入的两个字符A和B。
4. 然后,我们使用一个循环来遍历字符串  s  中的每个字符。我们使用指针  p  来指向当前遍历的字符。
5. 在循环中,我们使用  if (*p == a)  来判断当前字符是否等于字符A。如果是,就将当前字符替换为字符B,即  *p = b 。
6. 最后,我们使用  puts(s)  来输出替换完成后的字符串。

这样,代码就完成了将字符串S中的字符A替换为字符B的任务。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-10-26 17:15:03 | 显示全部楼层
你可以按照以下方式填写代码空缺部分,以实现将字符串S中的字符A替换为字符B的功能:
#include <stdio.h>

int main() {
    char s[50], a, b, *p;
    gets(s);
    scanf("%c %c", &a, &b);

    p = s;  // 将指针p指向字符串s的起始位置

    while (*p != '\0') {  // 循环遍历字符串s中的每个字符
        if (*p == a) {  // 如果当前字符等于字符A
            *p = b;  // 将当前字符替换为字符B
        }
        p++;  // 移动指针p到下一个字符
    }

    puts(s);  // 输出替换后的字符串s

    return 0;
}

在这段代码中,我们使用了一个指针p来遍历字符串s中的每个字符。通过比较*p和字符A来判断是否需要进行替换。如果相等,则将*p替换为字符B。最后输出替换后的字符串s

请注意,gets()函数已经被废弃不推荐使用,因为它存在安全隐患。建议改用更安全的输入函数如fgets()

另外,尽量避免使用固定大小的字符数组,并确保输入字符串不会超过其长度。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-5 17:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表