C语言:由键盘输入一串字符,分别统计大学字母,小写字母,数字,其他字符的个数。比如输入ABCDefjhi123##.输出该字符串有大写4个,小写5个,数字3个,其他2个
2条回答 默认 最新
关注【以下回答由 GPT 生成】
#include <stdio.h> void count_chars(char* str) { int uppercase = 0, lowercase = 0, digits = 0, others = 0; int i = 0; char c; while (str[i]) { c = str[i]; if (c >= 'A' && c <= 'Z') { uppercase++; } else if (c >= 'a' && c <= 'z') { lowercase++; } else if (c >= '0' && c <= '9') { digits++; } else { others++; } i++; } printf("大写字母:%d个\n", uppercase); printf("小写字母:%d个\n", lowercase); printf("数字:%d个\n", digits); printf("其他字符:%d个\n", others); } int main() { char str[100]; printf("请输入一串字符:"); scanf("%s", str); count_chars(str); return 0; }这段代码实现了从键盘输入一串字符,并统计其中大写字母、小写字母、数字和其他字符的个数。主要通过遍历字符串的每个字符,判断其属于哪个分类,然后对应的计数器加一。最后输出各个分类的个数。
注意: - 需要包含stdio.h头文件。 - 使用scanf函数获取输入的字符串,需要指定最大长度以避免内存溢出。 - 在处理字符时,我们可以通过ASCII码进行判断,大写字母的ASCII码范围是65到90,小写字母的范围是97到122,数字的范围是48到57。其他字符即不在上述范围内的字符。 - 可以在主函数中调用count_chars函数,将输入的字符串作为参数传递给它。 - 使用%s作为scanf函数的格式控制字符串,该格式控制字符串用于读取字符串,遇到空格或换行符会停止读取。 - printf函数用于输出统计结果。
以上是一种具体的解决方案,如果还有其他问题,请告诉我。
【相关推荐】
- 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7658497
- 这篇博客也不错, 你可以看下用c语言编写程序,要求用户输入字符串,将字符串中的大写字母转换成小写字母,小写字母转换为大写字母。例如,用户输入AbCdE,程序输出aBcDe。
- 除此之外, 这篇博客: <栈和队列>题目练习《数据结构(C语言版)》中的 2.一个栈的入栈序列为ABCDE,则不可能的出栈序列为( ) 部分也许能够解决你的问题。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报