PTA15、班级人员信息统计 (10 分)

该博客介绍了一种统计班级人员信息的方法,包括输入不同班级名单、参赛名单和转学人员,并通过集合操作分析各类人员名单,如两班级总人数、未参加任何竞赛的人数、参加竞赛的总人数等。同时,博客还讨论了如何根据转学人员调整班级名单并输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

15班级人员信息统计 (10 )

输入a,b班的名单,并进行如下统计。

输入格式:

1:

### 使用指针在PTA平台统计字符个数 为了实现在PTA平台上使用指针来统计字符串中的不同类型的字符数量,可以采用如下方式。此方法不仅能够有效地遍历整个字符串,还能利用标准库函数判断字符类别。 #### 函数定义与初始化变量 首先,在程序中引入必要的头文件`<ctype.h>`以便后续调用字符处理函数。接着声明并初始化用于计数的整型变量,这些变量别代表大写英文字符(`capital`)、小写英文字符(`minuscule`)、空白字符(包括空格和制表符等)`blank`、数字字符(`digit`)以及其他任何不属于上述三类的字符(`other`)的数量[^3]。 ```c #include <stdio.h> #include <ctype.h> void stringCount(const char *str) { int capital = 0; int minuscule = 0; int blank = 0; int digit = 0; int other = 0; while (*str != &#39;\0&#39;) { // 遍历直到遇到字符串结束标志&#39;\0&#39; if (isupper(*str)) { ++capital; // 如果是指向的大写字母,则增加相应计数值 } else if (islower(*str)) { ++minuscule; // 同理对于小写字母也做相同操作 } else if (isspace((unsigned char)*str)) { // 判断是否为空白字符(注意:这里使用的是 isspace 而不是 isblank) ++blank; } else if (isdigit(*str)) { ++digit; // 对于数字同样如此 } else { ++other; // 剩下的都视为其他类型字符 } str++; // 移动指针到下一个位置继续循环 } printf("Capital letters count: %d\n", capital); printf("Lowercase letters count: %d\n", minuscule); printf("Blank characters count: %d\n", blank); printf("Digits count: %d\n", digit); printf("Other characters count: %d\n", other); } ``` 这段代码展示了如何通过传递指向字符串起始地址的常量指针作为参数,并在其内部移动该指针完成对各个字符属性的检测以及相应的计数工作。当遇到字符串终止符`\0`时停止迭代过程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嗯呢嗯呢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值