gpt4 book ai didi

c中的字符计数程序

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

输出的字符数就是实际的字符数。加上 3。不知道为什么?

这是代码:

void main(void)
{

int ch,w=0,c=0;
do
{
ch=getche();
++c;
if(ch==32)
{
++w;
++c;
}

}while(ch!=13);
printf("\nnum of characters is %d",c);
printf("\nnum of words is %d",w);
getch();
}

最佳答案

您正在为空格字符递增 c 两次

你的 if 语句应该是:

if(ch==32)
++w;

你还有另一个微妙的错误,因为字符串 hello spcspcthere(带两个空格)将在您的代码中注册为三个单词。

这就是为了避免这些问题而编写的方式。请注意 lastch 的使用,以避免将空格序列计为多个单词。

int main(void) {
int ch = ' ', lastch, w = 0, c = 0;

do {
lastch = ch;
ch = getchar();
++c;
if (ch == ' ') {
if (lastch != ' ') {
++w;
}
}
} while (ch != '\n');

if (lastch != ' ') {
++w;
}

printf("num of characters is %d\n",c);
printf("num of words is %d\n",w);

return 0;
}

关于c中的字符计数程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2849716/

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