PAT1021_个位数统计 (15)

来源:互联网 发布:阿里巴巴货源比淘宝贵 编辑:程序博客网 时间:2024/05/03 23:57
给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2031,和13。输入格式:每个输入包含1个测试用例,即一个不超过1000位的正整数N。输出格式:对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。输入样例:100311输出样例:0:21:33:1
////  PAT_1021.cpp//  MyFirstProject////  Created by 潘庆一 on 2017/4/27.//  Copyright © 2017年 潘庆一. All rights reserved.//#include <stdio.h>#include <iostream>using namespace std;int main() {    //采用字符串来存储字符    string str;    cin >> str;    int a[10] = {0};    for(int i=0; i<str.length(); i++) {        int num = str[i] - 48;        switch(num) {            case 0: a[0]++; break;            case 1: a[1]++; break;            case 2: a[2]++; break;            case 3: a[3]++; break;            case 4: a[4]++; break;            case 5: a[5]++; break;            case 6: a[6]++; break;            case 7: a[7]++; break;            case 8: a[8]++; break;            case 9: a[9]++; break;        }    }    //按照索引升序输出结果    for(int i=0; i<10; i++) {        if(a[i] != 0) {            cout << i << ":" << a[i] << endl;        }    }    return 0;}
0 0