编写一个C程序,使得读取输入的字符串,统计并输出字符串中大写字母、小写字母、数字和其他字符的数量。

#include <stdio.h>
#include <string.h>


int main()
{
    char str[100];        //赋予字符长度为100的存储空间
    int i,uppercase=0,lowpercase=0,number=0,other=0;        //变量初始化
    printf("请输入字符串:");
    gets(str);        //输入字符串,str是已定义的字符数组
    
    for(i=0;str[i]!='\0';i++)        //i的初始值为零,字符数组第i个不等于“\0”,即空字符,则i++
    {
        if(str[i]>='A'&&str[i]<='Z')        // A <= i <= Z范围
            uppercase++;
        else if(str[i]>='a'&&str[i]<='z')        // a <= i <= z范围
            lowpercase++;
        else if(str[i]>='0'&&str[i]<='9')        // 0 <= i <= 9范围
            number++;
        else        // 其他字符串
            other++;
    }
    printf("大写字母数:%d\n",uppercase);        //打印大写字母字符数
    printf("小写字母数:%d\n",lowpercase);        //打印小写字母字符数
    printf("数字数:%d\n",number);        //打印数字字符数
    printf("其他字符数:%d\n",other);        //打印其他字符总数
    return 0;
 } 

 

 

 

 

### 回答1: 可以使用Python语言来实现这个功能,代码如下: ```python s = input("请输入一个字符串:") # 输入字符串 upper_count = 0 # 大写字母计数器 lower_count = 0 # 小写字母计数器 for c in s: # 遍历字符串的每个字符 if c.isupper(): # 如果是大写字母 upper_count += 1 # 大写字母计数器加1 elif c.islower(): # 如果是小写字母 lower_count += 1 # 小写字母计数器加1 print("大写字母个数:", upper_count) print("小写字母个数:", lower_count) ``` 运行结果如下: ``` 请输入一个字符串:Hello World! 大写字母个数: 2 小写字母个数: 8 ``` 这个程序首先让用户输入一个字符串,然后使用两个计数器分别统计字符串大写字母小写字母的个数。遍历字符串的每个字符,如果是大写字母大写字母计数器加1,如果是小写字母小写字母计数器加1。最后输出统计结果。 ### 回答2: 在计算字符串大写字母小写字母的个数之前,我们需要先理解何为大写小写字母。 在ASCII编码表大写字母的编码范围为65~90,小写字母的编码范围为97~122。因此,我们可以通过循环判断字符串每个字符的ASCII编码是否在这个区间内来进行计数。 以下是一个简单的Python代码示例: ```python # 输入字符串 str_input = input("请输入字符串:") # 初始化计数器 count_upper = 0 # 大写字母计数器 count_lower = 0 # 小写字母计数器 # 循环遍历字符串的每个字符 for char in str_input: if ord(char) >= 65 and ord(char) <= 90: count_upper += 1 # 大写字母计数器加1 elif ord(char) >= 97 and ord(char) <= 122: count_lower += 1 # 小写字母计数器加1 # 输出结果 print("大写字母个数:", count_upper) print("小写字母个数:", count_lower) ``` 通过以上代码,我们可以获取到输入字符串大写字母小写字母的个数,但需要注意的是这个方式只适合英文文本分析。若使用其他语言字符集,请先了解对应字符编码的范围再进行计数。 ### 回答3: 对于这个问题,可以采用遍历字符串的方式来逐个读取字符并判断大写小写。 首先需要定义两个变量,一个用于存储大写字母的个数,一个用于存储小写字母的个数。然后逐个读取字符串字符,用判断语句判断该字符是否为字母,如果是则继续判断该字母的大小写,然后分别对应将计数器加一。 下面是示范代码: ``` input_string = input('请输入一个字符串: ') upper_count = 0 lower_count = 0 for char in input_string: if char.isalpha() == True: if char.isupper() == True: upper_count += 1 elif char.islower() == True: lower_count += 1 print('大写字母的个数为:', upper_count) print('小写字母的个数为:', lower_count) ``` 以上代码逐个读取输入字符串的每一个字符,然后使用isalpha()方法判断该字符是否为字母,如果是字母,则使用isupper()方法判断该字母是否为大写,如果是则将大写字母的计数器加一;否则,使用islower()方法判断该字母是否为小写,如果是则将小写字母的计数器加一。最后输出大写字母小写字母的计数器即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值