stepon 发表于 2024-10-13 15:41:00

关于while一课

我看小甲鱼的编程那个计算一串英文的字符数也算上空格的了,怎样才能不算空格呢
原编程如下
#include <stdio.h>

int main()
{
        int count = 0;
       
        while(getchar() != '\n')
        {
                count = count + 1;
        }
        printf("输入了%d个字符\n",count);
       
        return 0;
}

FishC 发表于 2024-10-13 15:41:08

要在计算字符时不将空格算入,可以在 `while` 循环中添加条件判断,略过空格字符。你可以这样修改代码:

#include <stdio.h>

int main()
{
    int count = 0;
    char ch;

    while ((ch = getchar()) != '\n')
    {
      if (ch != ' ')// 如果读到的字符不是空格
      {
            count = count + 1;
      }
    }
    printf("输入了%d个字符(不包括空格)\n", count);

    return 0;
}

通过增加 `if (ch != ' ')` 判断,如果读到的是空格,则不会增加 `count`,这样就实现了不计算空格的功能。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

某一个“天” 发表于 2024-10-13 16:41:49

if (ch != ' ')// 如果读到的字符不是空格
      {
            count = count + 1;
      }

学习编程中的Ben 发表于 2024-10-13 19:42:39

做个判断就行
代码:
#include <stdio.h>

int main()
{
    int count = 0;
    char ch = getchar();
    while(ch != '\n')
    {
      if (ch != ' ') count = count + 1; // 判断
      ch = getchar();   // 再次读入
    }
    printf("输入了%d个字符\n",count);
    return 0;
}

Husj0711 发表于 2024-10-14 01:45:53

#include <stdio.h>

int main(void){
        int count = 0;
        char count_char;

        while ((count_char = getchar()) != '\n'){
                if (count_char != ' '){
                        count++;
                }
        }
        printf("一共输入了%d个字符\n",count);

        return 0;
}

多一个判断即可!
页: [1]
查看完整版本: 关于while一课