1021 个位数统计

该C程序读取用户输入的字符串,然后统计其中每个数字字符(0-9)出现的次数。程序通过将字符减去0来转换为整数索引,并使用一个初始化为0的数组a[]来存储计数。最后,程序打印出每个非零计数的数字及其对应的出现次数。

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

题目链接

#include <stdio.h>
#include <string.h>
int main()
{
	char str[1001];
	gets(str);
	int x, a[1001] = {0};
	for (int i = 0; i < strlen(str); ++i)
		x = str[i] - '0', a[x]++;
	for (int j = 0; j <= 9; j++)
	if (a[j] != 0) 
	{
		printf("%d:%d", j, a[j]);
		puts("");
	}	
	return 0;
}

注:
① 换行表示:puts("");
② 第七行代码中,在定义数组a[]时,由于之后需要对a[]数组进行++操作而非赋值操作,所以需要初始化为0.
③本题中最重要的一点是第九行代码,由于题目要求对个位数的次数升序输出,所以想到用数组的下标来实现。同时可以了解到,数组中的元素不一定只能用来表示不同种的数,也可以用来表示不同数字出现的次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值