C语言期末习题之统计大写字母,数字和其他字符的个数

简介: C语言期末习题之统计大写字母,数字和其他字符的个数

1.题目

输入一行字符,分别统计出大写英文字母、数字,其他字符和字符总数的个数,并输出统计的结果。


2.思路

我们可以使用 `getchar()` 函数来一次读取一行字符,然后使用 `if-else` 分支语句对每个字符进行分类计数,最后输出统计结果。具体思路如下:

1. 声明三个计数器变量,分别用于统计大写字母、数字和其他字符的个数。

2. 使用 `getchar()` 函数读取一行字符,并计算字符总数。

3. 遍历读取的每个字符,对其进行分类计数:

  - 如果是大写字母,则将大写字母计数器加 1。

  - 如果是数字,则将数字计数器加 1。

  - 如果是其他字符,则将其他字符计数器加 1。

4. 输出统计结果,分别输出大写字母、数字、其他字符和总字符数。

下面让我们来实现代码吧~


3.代码实现

 
#include <stdio.h>
 
int main() {
    char c;
    int uppercase_count = 0, digit_count = 0, other_count = 0, total_count = 0;
 
    printf("请输入一行字符:");
    while ((c = getchar()) != '\n')
         {
        total_count++; // 统计字符总数
 
        if (c >= 'A' && c <= 'Z')
         {
            uppercase_count++; // 统计大写字母个数
        } 
        else if (c >= '0' && c <= '9')
         {
            digit_count++; // 统计数字个数
        } 
        else 
        {
            other_count++; // 统计其他字符个数
        }
    }
 
    printf("大写字母的个数:%d\n", uppercase_count);
    printf("数字的个数:%d\n", digit_count);
    printf("其他字符的个数:%d\n", other_count);
    printf("总字符数:%d\n", total_count);
 
    return 0;
}
 
 
 


目录
相关文章
|
8天前
|
存储 C语言
【C语言基础考研向】10 字符数组初始化及传递和scanf 读取字符串
本文介绍了C语言中字符数组的初始化方法及其在函数间传递的注意事项。字符数组初始化有两种方式:逐个字符赋值或整体初始化字符串。实际工作中常用后者,如`char c[10]=&quot;hello&quot;`。示例代码展示了如何初始化及传递字符数组,并解释了为何未正确添加结束符`\0`会导致乱码。此外,还讨论了`scanf`函数读取字符串时忽略空格和回车的特点。
|
11天前
|
存储 人工智能 C语言
C语言程序设计核心详解 第六章 数组_一维数组_二维数组_字符数组详解
本章介绍了C语言中的数组概念及应用。数组是一种存储同一类型数据的线性结构,通过下标访问元素。一维数组定义需指定长度,如`int a[10]`,并遵循命名规则。数组元素初始化可使用 `{}`,多余初值补0,少则随机。二维数组扩展了维度,定义形式为`int a[3][4]`,按行优先顺序存储。字符数组用于存储字符串,初始化时需添加结束符`\0`。此外,介绍了字符串处理函数,如`strcat()`、`strcpy()`、`strcmp()` 和 `strlen()`,用于拼接、复制、比较和计算字符串长度。
|
1月前
|
机器学习/深度学习 C语言
【C语言篇】递归详细介绍(基础概念习题及汉诺塔等进阶问题)
要保持最小的步数,每一次汉诺塔问题(无论是最初还是递归过程中的),如果此时初始柱盘子数为偶数,我们第一步是把最上面的盘子移动到中转柱,如果为奇数,我们第一步则是将其移动到目标柱。
【C语言篇】递归详细介绍(基础概念习题及汉诺塔等进阶问题)
|
1月前
|
编译器 C语言
【C语言小知识】ctype.h系列的字符函数
【C语言小知识】ctype.h系列的字符函数
|
1月前
|
C语言
【C语言篇】字符和字符串以及内存函数详细介绍与模拟实现(下篇)
perror函数打印完参数部分的字符串后,再打印⼀个冒号和⼀个空格,再打印错误信息。
|
1月前
|
存储 安全 编译器
【C语言篇】字符和字符串以及内存函数的详细介绍与模拟实现(上篇)
当然可以用scanf和printf输入输出,这里在之前【C语言篇】scanf和printf万字超详细介绍(基本加拓展用法)已经讲过了,这里就不再赘述,主要介绍只针对字符的函数.
|
2月前
|
存储 缓存 C语言
【C语言】字符函数,字符串函数,内存函数
C语言中的字符串函数和内存函数
33 0
【C语言】字符函数,字符串函数,内存函数
|
2月前
|
C语言
C语言5 字符输出函数和格式输出函数
C语言5 字符输出函数和格式输出函数
43 1
|
2月前
|
存储 C语言 C++
PTA—C语言期末复习(选择题)
PTA—C语言期末复习(选择题)
|
3月前
|
C语言
C语言实战项目——学生试卷分数统计
C语言实战项目——学生试卷分数统计