C语言输入一行字符串统计空格数

题目描述

解决问题:输入一行字符(字符个数不多于80),统计其中空格的个数

输入格式:一行字符(字符个数不多于80)

输出格式:一个正整数,代表空格的个数

样例输入:abc e f gh
样例输出:4

案例代码

#include <stdio.h>

int main() {
    char str[81];
    int count = 0;
    
    fgets(str, 81, stdin); // 从标准输入读入一行字符

    for (int i = 0; str[i] != '\0'; i++) {
        if (str[i] == ' ') {
            count++;
        }
    }

    printf("%d", count);

    return 0;
}
  1. 声明一个字符数组 str ,大小为 81,用来存储输入的一行字符。因为字符个数不超过 80,所以数组大小要多分配一个空间放置字符串结尾符\0
  2. 使用 fgets() 函数从标准输入读入一行字符,下面是该函数的原型:char *fgets(char *str, int n, FILE *stream)。它的作用是从 stream 中读入字符,遇到换行符或读够了 n-1 个字符就自动停止,读入的字符存储在 str 中,并自动在字符串结尾添加 \0 字符,返回值是 str 。
  3. 使用 for 循环遍历字符串 str,如果当前字符是空格,计数器 count 加一。
  4. 输出计数器 count 的值。

注意:使用 fgets() 函数可以避免因输入字符过长导致缓冲区溢出的问题。

© 版权声明
THE END
喜欢就支持一下吧
点赞11赞赏 分享