B1021 个位数统计

描述

在这里插入图片描述

输入格式:

每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。

输出格式:

对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。

输入样例:

100311
1

输出样例:

0:2
1:3
3:1

idea

  • 注意范围为1000位数,不能直接取余
    可通过字符串间接获得各位数值

solution

#include <stdio.h>
#include <string.h>
int main(){
	int a[10] = {0}, d, flag = 1;
	char x[1001];
	scanf("%s", x);
	for(int i = 0; i < strlen(x); i++){
		d = x[i] - '0';
		a[d]++;
	}
	for(int i = 0; i < 10; i++){
		if(a[i] != 0){
			if(flag){
				flag = 0;
				printf("%d:%d", i, a[i]);
			}
			else
				printf("\n%d:%d", i, a[i]);
		}
	}
	return 0;
}
posted @ 2022-03-01 17:33  Moliay  阅读(16)  评论(0编辑  收藏  举报