[PAT解题报告] 个位数统计 (15)

转载from http://tech-wonderland.net/blog/pat-basic-level-practise-1021-1025-solutions.html

解题思路: 水题, 利用hash表统计每个数字的个数即可. 下面是AC代码:
#include <map>
#include <iostream>
#include <string>

int main()
{
    std::string strInput;
    std::cin >> strInput;
    std::map<char, int> mapCounts;
    int iLen = strInput.size();
    for(int i = 0; i < iLen; ++i) {
        if(mapCounts.find(strInput[i]) == mapCounts.end())
            mapCounts[strInput[i]] = 1;
        else
            ++mapCounts[strInput[i]] ;;
    }
    for(auto it = mapCounts.begin(); it != mapCounts.end(); ++it) {
        std::cout << it->first << ':' << it->second << std::endl;
    }
    return 0;
}

全部评论
#include<iostream> #include<string.h> using namespace std; typedef struct{     int elem;     bool flag; }Node,Gewei[1001]; int main(){     char N[1001];     int n,count[10];     for(int i=0;i<=9;i++)count[i]=0;     Gewei G;     cin>>N;n=strlen(N);     for(int i=0;i<n;i++){         G[i].elem=N[i]-'0';         G[i].flag=0;}     for(int i=0;i<=9;i++){         for(int j=0;j<=n;j++){         if(G[j].flag==0&&G[j].elem==i){             count[i]++;G[j].flag=1;}         }     }     for(int i=0;i<=9;i++)     {if(count[i]!=0)cout<<i<<":"<<count[i]<<endl;}     system("pause");     return 0; } 在vs上运行输入0,输出0:1,但提交上去却显示输出0:2,哪位大佬能指导指导。
点赞 回复 分享
发布于 2019-04-26 15:57
奇怪了,我在devc++上运行没问题,但是提交说我错了 #include<stdio.h> int main(){ long k; int s[10]={0}; int i,count=0; scanf("%d",&k); do{ i=k%10; s[i]++; k/=10; }while(k>0); for(i=0;i<10;i++){ if(s[i]>0){ count++; if(count==1) printf("%d:%d",i,s[i]); else printf("\n%d:%d",i,s[i]); } } return 0; }
点赞 回复 分享
发布于 2017-02-16 21:37
import java.util.Scanner; import java.util.Set; import java.util.TreeMap; public class CalcGeWei { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); // String s= new String(); String line = sc.nextLine(); TreeMap<Character,Integer> tm = new TreeMap<Character,Integer>(); char[] ch = line.toCharArray(); for(char c:ch) { Integer i = tm.get(c); if(i==null) { tm.put(c, 1); } else { i++; tm.put(c, i); } } StringBuffer sb = new StringBuffer(); Set<Character> s1 = tm.keySet(); for(Character c2:s1) { sb.append(c2).append(":").append(tm.get(c2)).append("\n3"); } //System.out.println(tm); String result = sb.toString(); System.out.println(result); } }
点赞 回复 分享
发布于 2015-08-15 11:13

相关推荐

小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-03 16:46
今天本来好好的,结果带教老师当着众人的面,直接大声叫我的名字,我过去还没站稳,劈头盖脸就是一句:“你这搞的什么玩意啊!没带脑子上班吗”那语气、那眼神,仿佛我做了什么十恶不赦的大事。我到底干啥了?不过是一些小疏漏,谁刚开始实习不会犯错啊?可她倒好,不仅不耐心指导,还这样贬低我。我满心的热情和期待,瞬间被浇了个透心凉🥶我也是爹妈疼爱的宝贝,来实习是为了学习、成长,不是来被人随意羞辱的!真心希望遇到的带教老师能多些耐心和善意,毕竟谁都有从零开始的时候,这样的“教育”方式,真的只会让人越来越没自信
longerluck...:前几年实习(初创公司),我们老板每月不固定会举行会议,叫我们几个实习生谈一下生活看到或听到的一些事情,并给出看法,当时我就正常讲了下我所见到的,没有个人看法,老板直接当着众人的面骂了我,那时候我真是感觉尴尬的要死(毕竟还有其他正式员工在)后面没待多久我就提出离职(因为当时我还负责一个项目),我leader叫我不要走,说给我涨工资,我反正觉得这种公司我是待不下去了,官味太重了,最后我还是跑路
实习吐槽大会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务