LFJ20051102 2024-12-24 13:04 采纳率: 0%
浏览 23

c语言编程查找字符串

输入一个字符并回车,再连续输入一批以 * 结束的字符串(字符串的长度不超过80),遇 ** 则全部输入结束。
在每个字符串中查找该字符,如果找到,则输出该字符在字符串中所对应的最大下标(下标从0开始);
否则输出“Not Found”。

例:括号内是说明
输入:
m (输入一个字符)
moonprogramming1234** (输入3个字符串"moon","programming","1234")
输出:
0 (m在"moon"中对应的最大下标是0)
7 (m在"programming"中对应的最大下标是7)
Not Found ("1234"中没有m)

我为什么结果错误,应怎么修改

img

img

  • 写回答

1条回答 默认 最新

  • 码农阿豪@新空间 新星创作者: 前端开发技术领域 2024-12-24 13:21
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题可能出在你的代码在字符串查找时只考虑了第一个匹配的情况,而没有考虑到字符可能出现多次的情况。你可以修改代码,将找到匹配字符的位置保存下来,最后输出最后一个位置。以下是一个示例的Python代码:
    # 输入字符
    char = input("请输入一个字符:")
    # 开始输入字符串
    while True:
        string = input("请输入一个字符串(以*结束):")
        if string == "**":
            break
        else:
            index = -1
            for i in range(len(string)):
                if string[i] == char:
                    index = i
            
            if index != -1:
                print(index)
            else:
                print("Not Found")
    

    你可以尝试使用这段代码,看看结果是否正确。如果还有问题,请提供更多细节或者代码,以便我继续帮助你调试。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月24日