C语言题目:统计字符

题目描述

输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

输入格式

输出格式

样例输入

0 z,

样例输出

1
1
1
1

代码解析

  1. 定义主函数: int main(void) 是C程序的入口点,void表示这个函数不接受任何参数。

  2. 定义变量:

    • char ch[1000]:定义了一个字符数组,用于存储用户输入的字符串,数组大小为1000个字符。
    • int i:用于记录当前读取字符的索引位置,初始化为0。
    • int number:用于计数输入字符串中的数字字符数量,初始化为0。
    • int english:用于计数输入字符串中的英文字母数量,初始化为0。
    • int space:用于计数输入字符串中的空格数量,初始化为0。
    • int other:用于计数输入字符串中的其他字符数量,初始化为0。
  3. 输入字符串:

    • 使用while (1)创建一个无限循环,用于持续读取用户的输入直到遇到换行符\n
    • scanf("%c", &ch[i]);这个函数调用用于从标准输入(通常是键盘)读取一个字符,并将其存储在ch数组的当前索引位置。
    • 如果读取的字符是换行符\n,则使用break语句退出循环。
  4. 分类统计字符:

    • 对于每次读取的字符ch[i],使用一系列的if语句来判断它属于哪一类,并相应地增加计数器的值:
      • 如果字符是数字(在ASCII码中,'0'到'9'之间的字符),则增加number的计数。
      • 如果字符是英文字母(在ASCII码中,'a'到'z'或'A'到'Z'之间的字符),则增加english的计数。
      • 如果字符是空格,增加space的计数。
      • 如果字符不属于以上任何一类,则增加other的计数。
  5. 输出统计结果: printf("%d\n%d\n%d\n%d\n", english, space, number, other); 这个函数调用用于按顺序输出英文字母的数量、空格的数量、数字的数量以及其他字符的数量。

  6. 函数返回: return 0; 表示main函数执行成功并返回0。在C语言中,main函数的返回值通常用于表示程序的退出状态,其中0表示成功。

源代码

#include <stdio.h>
int main(void)
{
	char ch[1000];
	int i = 0;
	int number = 0;
	int english = 0;
	int space = 0;
	int other = 0;
	while (1)
	{
		scanf("%c", &ch[i]);
		if (ch[i] == '\n')
			break;
		if (ch[i] >= '0' && ch[i] <= '9')
			number++;
		else if (ch[i] >= 'a' && ch[i] <= 'z' || ch[i] >= 'A' && ch[i] <= 'Z')
			english++;
		else if (ch[i] == ' ')
			space++;
		else
			other++;
	}
	printf("%d\n%d\n%d\n%d\n", english, space, number, other);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值