| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 995 人关注过本帖
标题:一道关于处理录入数据的题
只看楼主 加入收藏
kin3z
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:157
专家分:390
注 册:2011-4-24
结帖率:100%
收藏
 问题点数:0 回复次数:1 
一道关于处理录入数据的题
输入描述:
每个输入包含1个测试用例,即一个不超过1000位的正整数N。

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

输入例子:
100311

输出例子:
0:2
1:3
3:1

这题在网上复制下来的,大家来看看有什么方法,既快又省内存地解决这个题
搜索更多相关主题的帖子: 正整数 网上 
2017-02-14 13:10
kin3z
Rank: 5Rank: 5
等 级:职业侠客
威 望:4
帖 子:157
专家分:390
注 册:2011-4-24
收藏
得分:0 
我做好了一个,提交网上测试结果时,提示超时,为什么呢?
以下是我的代码:

程序代码:

#include <stdio.h>

int main(int argc, char **argv)
{
    char a[10] = {0};
    int i , c;
    c = getchar();
    while(c != '\n' && c!= '\0'){
        i++;
        if (c-'0' >= 0 && c-'0' <= 9){
            a[c-'0']++;
        }
        if (i == 1000){
            break;
        }
        c = getchar();
    }
    
    for (i = 0 ; i < 10 ; i++){
        if(a[i] > 0){
            printf("%d:%d\n",i,a[i]);
        }
    }

    return 0;
}
2017-02-14 13:30
快速回复:一道关于处理录入数据的题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014858 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved