| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1267 人关注过本帖, 1 人收藏
标题:数组问题求解
只看楼主 加入收藏
小小小小生
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-12-23
结帖率:0
收藏(1)
已结贴  问题点数:20 回复次数:27 
数组问题求解
描述

某公司邀请40个顾客参加投票活动,选举他们最喜爱的产品,以决定公司今后的销售策略。共有编号为1号~10号的10个产品,每人只能选择一个产品。编写程序,在整数数组中设置这40个值(投票情况),然后统计投票结果(每一个产品的得票数目)。

输入

40个数值在1~10(含1和10)之间的整数

输出

如下所示:
产品    得票     直方图
1       5        *****
2       1        *
。。。。。。。。。。。
(下面类似)


样例输入

1 1 1 1 1 2  3 3 3 3 3 4 4 5 5 5 5 6 6 6 6 6 6 6 6 7 7 7 7 7 8 8 8 8 8 9 9 9 10 10

样例输出

如上图所示

提示


表头汉字之间用1个空格分隔。表体各列之间用5个空格分隔。
搜索更多相关主题的帖子: 产品 公司 直方图 
2011-12-23 11:14
小小小小生
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-12-23
收藏
得分:0 
回复 楼主 小小小小生
牛人快来帮忙啊。。。
2011-12-23 11:16
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:2 
比較基本的實用型編程,大家都來嘗試一下吧。

授人以渔,不授人以鱼。
2011-12-23 11:52
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:2 
问题很简单,写段代码锻炼一下大家读代码的能力吧,呵呵
程序代码:
#include<stdio.h>
int main()
{
    int p[10] = {0}, i, t;
    for(i = 0; i++ < 40; p[(scanf("%d", &t), t) - 1]++);
    printf("产品 得票 直方图\n");
    for(i = 0; i < 10; i++)
    {
        printf("%-5d%-5d", i + 1, p[i]);
        for(t = 0; t++ < p[i]; putchar('*'));
        putchar('\n');
    }
    return 0;
}

重剑无锋,大巧不工
2011-12-23 12:23
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:2 
#include <stdio.h>

int main(void)
{
    int a[40], b[10];
    int    i, j = 0 , n = 0 , k = 0, *p;
    char str[40] = {'\0'};
   
    printf("Please input the example:\n");
    for (i = 0; i < 40; i++)
        scanf("%d", &a[i]);
    p = a;
    printf("产品 得票 直方图\n");

    for (i = 1; i <= 10; i++)
    {      
       while ( *p == i && k < 40 )
       {
           n++;
           str[j++] = '*';
           p++;
           k++;
       }
       b[i - 1] = n;
       printf("%d     %-2d   %-s\n", i , b[i - 1], str);
       for (k = 0; k < n; k++)
           str[k] = '\0';
       n = 0;
       j = 0;
    }
    return 0;
}

图片附件: 游客没有浏览图片的权限,请 登录注册

梅尚程荀
马谭杨奚







                                                       
2011-12-23 13:23
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
輸入40個數字,你們寫程序從來不考慮敲鍵盤的那個人出錯的?他沒輸夠或數多了40個數,你這程序有什麽現象?輸入的數字有些不在1-10範圍内怎麽辦?40個數,別忘了!再多些怎麽辦?如果輸入的人弄些字母之類在裏面……

把程序做死,誰不會做,這樣出來混飯吃,嘿嘿~

[ 本帖最后由 TonyDeng 于 2011-12-23 13:31 编辑 ]

授人以渔,不授人以鱼。
2011-12-23 13:27
hengde_li
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:131
专家分:178
注 册:2010-1-15
收藏
得分:2 
是啊,没有容错处理。
2011-12-23 13:30
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
從鍵盤中要人敲幾十個數據進去,這種設計本身就不合理,沒人尿你的。不知道設計成從文件讀入的,都是沒實際編程經驗的。40個數,只要有一兩個數輸錯了,他就得全部重新輸入,這樣變態的程序,用戶不罵你?給你自己也不會用啦。

授人以渔,不授人以鱼。
2011-12-23 13:34
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:0 
回复 8楼 TonyDeng
哈哈 新手来着照死的搞啊。继续改进啊。

梅尚程荀
马谭杨奚







                                                       
2011-12-23 13:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
慢慢弄吧,寫出一個可以真正拿來用的程序,纔是學編程的宗旨。比如,萬一題目要求改了,40個數變成1000個數,你去改源代碼、重新編譯、重新發佈程序?能不能寫一個即使不約定多少個人投票也能通用的程序呢?再進一步,如果產品數量變成不是10個呢?這些極有可能的變動情形,編程時都應該予以考慮,要預防對方有變,而自己不用被動跟著變。程序員的價值就在於此。

授人以渔,不授人以鱼。
2011-12-23 13:53
快速回复:数组问题求解
数据加载中...
 
   



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

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