请各位是C语言高手的大哥哥大姐姐帮帮忙,急急急!!!!

在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。例如,一个公司的主管可能需要了解一年来公司的营业的状况,比较一下个月份的销售收入状况。如果反... 在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。例如,一个公司的主管可能需要了解一年来公司的营业的状况,比较一下个月份的销售收入状况。如果反给出一大堆数据,这显然不太主观了,如果能将这些数据以直方图的形式表示,那么将会大大增加这些数据的直观性,也便于数据的分析和对比。下面以顾客对餐饮服务打分为例,练习一下这方面的程序。假设现在有40个学生被邀请来给自助餐厅的视频和服务质量打分,分数为从1~10的10个等级(1意味着最低分,10表示最高分),是统计调查结果,并用‘ * ’打印出如下形式的统计结果直方图。
Grade Count Histograme
1 5 *****
2 10 **********
3 7 *******
……… …………. …………………….
提示:
定义一个含有40个元素的数组score,40个学生打的分数存放在这个数组中,再定义哟个含有11个元素的数组count,作为计数器(count[0]不用)。第一步使计算统计结果,设置一个循环,依次检查数组score中的元素组,是1则将数组元素count[1]加1,是2则将数组元素count[2]加1,以此类推,将的等级分数的统计结果存放在count数组中。然后第二步是打印统计结果,设置一个循环,按数组count 中的元素值的大小,依次打印相应个数的符号‘ * ’。计算统计结果时,既可以用switch语句,也可以不用switch语句。
请各位高手指教指教!小弟实在想不出来了,每次都有10几个错误!
展开
 我来答
gmchen
2008-06-01 · TA获得超过1114个赞
知道小有建树答主
回答量:609
采纳率:0%
帮助的人:647万
展开全部
以下程序已经完成你要的功能,请把40个score的初始化方式填写上即可。

#include <stdio.h>
#include <string.h>

#define STUNUM 40
#define CNTNUM 12

int score[STUNUM];
int count[CNTNUM]; // 定义为12表示 1-11的数组

int main(int argc, char *argv[])
{
int i, j;

for( i = 0; i < STUNUM; i++ )
{
// 初始化学生数据,请自己填写
}

for( i = 0; i < STUNUM; i++ )
{
if( score[i] >= 1 && score[i] <= 10 ) // 找到所有合法的数据
count[score[i]] ++;
}

for( i = 1; i < CNTNUM; i++ ) // 从 1-11
{
printf("%d %d ", i, count[i]);
for( j = 0; j < count[i]; j++ )
printf("*");
printf("\n");
}

getchar();

return 0;
}
匿名用户
2008-06-01
展开全部
//---------------------------------------------------------------------------

#include <stdio.h>

int main(void)
{
int i,j,max=0,score[40],count[11]={0};
for (i = 0; i<40; i++) { /*读取投票数据并统计得票数据*/
scanf("%d",&score[i]);
count[score[i]%11]++;
}
for (i=1; i<11; i++) { /*找到最多的得票数*/
max=max<count[i]?count[i]:max;
}
for (i=1; i<11; i++) { /*绘图*/
printf("%-3d:%-3d",i,count[i]);
for (j = 0; j<count[i]/(float)max*10; j++) {
putchar('*');
}
putchar('\n');
}

return 0;
}
//---------------------------------------------------------------------------
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友be0a29482
2008-06-01 · TA获得超过151个赞
知道答主
回答量:195
采纳率:0%
帮助的人:184万
展开全部
楼上的回答很不错,特别是那个“找到所以合法数据”那里,写的很好,真的很好,支持!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式