| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 742 人关注过本帖
标题:红色部分是为什么?
只看楼主 加入收藏
穿袜子的傻喵
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2015-4-21
结帖率:100%
收藏
已结贴  问题点数:18 回复次数:17 
红色部分是为什么?
(二)餐饮服务质量调查打分
      在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。例如,一个公司的主管可能需要了解一年来公司的营业状况,比较一下各月份的销售收入状况,如果仅给出一大堆数据,这显然太不直观了,如果能将这些数据以条形图(直方图)的形式表示,那么将会大大增加这些数据的直观性,也便于数据的分析与对比。下面以顾客对餐饮服务打分为例,练习一下这方面的程序。假设现在有40个学生被邀请来给自助餐厅的食品和服务质量打分,分数为从1~10的10个等级(1意味着最低分,10表示最高分),试统计调查结果,并用‘*’打印出如下形式的统计结果直方图。
Grade    Count    Histogram
1          5       *****
2          10      **********
3          7       *******
...
[ 提示:定义一个含有40 个元素的数组score,40 个学生打的分数存放在这个数组中,再定义一个含有11 个元素的数组count,作为计数器使用(count[0]不用)。第一步是计算统计结果,设置一个循环,依次检查数组score 中的元素值,是1 则将数组元素count[1]加1,是2 则将数组元素count[2]加1[b],依此类推,将各等级分数的统计结果存放在count 数组中。然后第二步是打印统计结果,设置一个循环,按数组count 中的元素值的大小,依次打印相应个数的符号’*’。计算统计结果时,既可以用switch 语句,也可以不用switch 语句,请分别考虑这两种编程方法。]
搜索更多相关主题的帖子: 餐饮服务 科学研究 直方图 餐厅 
2015-04-26 15:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
仔细把文字读懂,这是语文功夫,也是编程的基础。

授人以渔,不授人以鱼。
2015-04-26 21:00
穿袜子的傻喵
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2015-4-21
收藏
得分:0 
回复 2楼 TonyDeng
还是无法理解为什么要加1?
2015-04-26 21:32
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
數組中的值就是星号的个数,当然每遇到一个就在对应的位置上加1了。

授人以渔,不授人以鱼。
2015-04-26 21:34
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:18 
还没看明白吗?score[]數組是用于储存40个学生给出的分数,count[]數組则是10个分值对应的星号。依次循环score[],是扫描所有学生给出的分数,比如第1个学生score[0]的打分是5分,则在count[5]這個元素上加1,表示分值为5的星号累加1个,依次类推,到遍历完全部40个学生,所有分值的星号统计就完成了。

授人以渔,不授人以鱼。
2015-04-26 22:04
穿袜子的傻喵
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2015-4-21
收藏
得分:0 
回复 5楼 TonyDeng
明白了~谢谢大神!
2015-04-26 22:08
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
这是实践中极为常用的手法,應該掌握和灵活运用。这些技能和思想,比大数运算常用得多。你可能一辈子都碰不到要做大数运算的需求,但绝对一出门就遇到这种需求。

授人以渔,不授人以鱼。
2015-04-26 22:12
穿袜子的傻喵
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2015-4-21
收藏
得分:0 
回复 7楼 TonyDeng
谨遵教诲~~~
2015-04-26 22:26
穿袜子的傻喵
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2015-4-21
收藏
得分:0 
回复 5楼 TonyDeng
程序代码:
#include<stdio.h>
int main()
{
    int score[40],count[11];
    int i,j,grade;
    for(i=0;i<40;i++)
        scanf("%d",&score[i]);
    for(i=0;i<40;i++)
        count[score[i]]++;
    printf("Grade\tCount\tHistogram\n");
    for(grade=0;grade<40;grade++)
    {
        printf("%5d\t%5d\t",grade,count[score[i]]);
        for(j=0;j<=count[score[i]];j++)
        {
            printf("%c",'*');
        }
        printf("\n");
    }
    return 0;
}

我编的这个程序对吗?
2015-04-26 22:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
自己运行了看看效果,自然发现对不对。

授人以渔,不授人以鱼。
2015-04-26 22:40
快速回复:红色部分是为什么?
数据加载中...
 
   



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

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