gpt4 book ai didi

c - 我希望我手动输入的字符串显示重复字符 "ma"的数量,但我被卡住了,我是 C 新手

转载 作者:行者123 更新时间:2023-11-30 20:29:14 24 4
gpt4 key购买 nike

我是 C 编程新手,我想显示“ma”出现了多少次,例如“mamama”有 3 个“ma”,但在我的代码中,当我写“mamam”时,它显示 3 个“ma” 。抱歉我的解释不好...我最近开始学习 C 编程。

我尝试使用 do-while 但最终搞砸了更多..

#include <string.h>
#include <stdio.h>

int main()
{
char a[81];
int i, j;
int zbroj=0;
i=0;

fgets(a,81,stdin);

for(i=0; i<'m';i++)
{
for(j=0; j<'a';j++)
{
while(a[i] !='\0')
{
if(a[i] == 'm' || a[j]=='a')
{
zbroj++;
}
i++;
}
}
}

printf("%d\n", zbroj);

return 0;
}

好吧,最终目标是当我输入“mamam”时程序应该写下 2 个“ma”。

最佳答案

这就是您所需要的:

int main()
{
char a[81];
int i, j;
int zbroj=0;
i=0;

fgets(a,81,stdin);

while(a[i] !='\0') {
if(a[i] == 'm' && a[i+1]=='a')
{
zbroj++;
i++;
}
i++;
};

printf("%d\n", zbroj);

return 0;
}

不需要您的第一次迭代。您需要遍历字符串并检查是否找到了所需的字母,然后检查下一个字母。然后增加计数器。尝试理解每一行代码的作用。您将需要它。

提示我也改变了||到&&

关于c - 我希望我手动输入的字符串显示重复字符 "ma"的数量,但我被卡住了,我是 C 新手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58675286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com