gpt4 book ai didi

C 编程问题 - 分支

转载 作者:太空宇宙 更新时间:2023-11-04 01:13:41 28 4
gpt4 key购买 nike

Write a program that reads input up to # and reports the number of times that the sequence ei occurs.

我对诸如 'ieei' 之类的序列几乎没有混淆,其中编译器确实输入了第 3 个 'e' 但从不获取 'i' getchar(),为什么,如果有人能在我之前改进它,那就太好了?

char ch;
int sq=0;

while ((ch = getchar()) != '#')
{
if (ch == 'e')
{
ch = getchar();

if (ch == 'e')
ch = getchar();

if (ch == 'i')
sq++;
}
}

printf("Sequence occurs %d %s\n", sq, sq == 1 ? "time" : "times");

最佳答案

在我看来,将最后一个 getchar() 的结果保存在一个变量中比在循环中有一个额外的 getchar() 更简单。

char ch;
int sq=0;
char lastCh = ' ';

while((ch=getChar())!='#') {
if(lastCh=='e' && ch=='i')
sq++;
lastCh=ch;
}

无论一行中有多少个 e 或其他任何内容,这都会给出正确的结果,并在第一个 # 字符处中断。

关于C 编程问题 - 分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6235914/

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