shark1996 发表于 2020-2-15 20:54:32

课后练习

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

#include<stdio.h>

int main()
{
        char c;
        int i, j, k;
        i = 0, j = 0, k = 0;
        printf("please input some characters\n");

        while (c=(getchar()) != '\n')
        {
                if ((c >= 'A' && c <= 'Z')|| (c>='a'&& c<='z'))
                {
                        i++;
                }
                else if (c >= '0' && c <= '9')
                {
                        j++;
                }
                else if (c == ' ')
                {
                        k++;
                }
        }

        printf("i=%d,j=%d,k=%d", i, j, k);

        return 0;
}

不知道为什么我输出的i,j,k都是0

zltzlt 发表于 2020-2-15 20:57:14

试试用这段代码:

#include <stdio.h>

int main()
{
    char c;
    int i, j, k;
    i = 0, j = 0, k = 0;
    printf("please input some characters\n");

    while ((c = getchar()) != '\n')
    {
      if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'))
      {
            i++;
      }
      else if (c >= '0' && c <= '9')
      {
            j++;
      }
      else if (c == ' ')
      {
            k++;
      }
    }

    printf("i=%d,j=%d,k=%d", i, j, k);

    return 0;
}

shark1996 发表于 2020-2-15 21:06:06

zltzlt 发表于 2020-2-15 20:57
试试用这段代码:

请问这段代码改了什么呢,没看出来...

zltzlt 发表于 2020-2-15 21:06:35

shark1996 发表于 2020-2-15 21:06
请问这段代码改了什么呢,没看出来...

while (c=(getchar()) != '\n')

这里改了,给你多加了个括号
页: [1]
查看完整版本: 课后练习