统计字符(c语言)-----蓝桥杯备赛错题1

题目描述

统计输入字符串中的字符个数,字符串中可能包含大、小写英文字母、数字字符、空格和换行符。统计字符数时,空格和换行符不计算在内。

输入格式

输入文件只有一行,一个字符串 s。

输出格式

输出文件只有一行,包含一个整数,即字符数(不含空格和换行符)。

输入输出样例

输入#1 

234 

输出#1 

3

输入 #2

Ca 45 

输出 #2

4
#include <stdio.h>
int main(){
	char a[100];//定义一个字符数组,存放输入的字符
	int b[3]={0};//定义一个整形数组,统计个数
	gets(a);//输入字符串
	for(int i=0;a[i]!='\0';i++){
		if(a[i]>='a'&&a[i]<='z'){
			b[0]++;//统计小写字母个数
		}else if(a[i]>='A'&&a[i]<='Z'){
			b[1]++;//统计大写字母个数
		}else if(a[i]>='0'&&a[i]<='9'){
			b[2]++;//统计数字个数
		}
	}
	printf("%d",b[0]+b[1]+b[2]);
	return 0;
}

拓展

输入一行字符(以回车键结束),统计其中大写字母的个数、小写字母的个数、数字字符的个数、空格个数及其他字符的个数

样例输入:

3qwe QAZS+

样例输出:

 小写字母个数为:3
大写字母个数为:4
数字的个数为:1
空格的个数为:1
其他的个数为:1

#include <stdio.h>
int main(){
    char a[100];//定义一个字符数组,存放输入的字符
    int i;
    int b[5] = { 0 };//定义一个整形数组,统计个数
    gets(a);//输入字符串
    for (i = 0; a[i] != '\0'; i++){
        if (a[i] >= 'a' && a[i] <= 'z')
            b[0]++;//统计小写字母个数
        else
            if (a[i] >= 'A' && a[i] <= 'Z')
                b[1]++;//统计大写字母个数
            else
                if (a[i] >= '0' && a[i] <= '9')
                    b[2]++;//统计数字个数
                else
                    if (a[i] == ' ')
                        b[3]++;//统计空格个数
                    else
                        b[4]++;//统计其他字符个数
    }
    printf("小写字母个数为:%d\n",b[0]);
    printf("大写字母个数为:%d\n",b[1]);
    printf("数字的个数为:%d\n",b[2]);
    printf("空格的个数为:%d\n",b[3]);
    printf("其他的个数为:%d\n",b[4]);
    return 0;
}

 

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值