求详细分析C语言题:餐饮服务质量调查打分(题和答案在下)

求详细分析:如果答案里能标注理解更好。在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。例如,一个公司的主管可能需要了解一年来公司的营业状况,... 求详细分析:如果答案里能标注理解更好。
在商业和科学研究中,人们经常需要对数据进行分析并将结果以直方图的形式显示出来。例如,一个公司的主管可能需要了解一年来公司的营业状况,比较一下各月份的销售收入状况。如果仅给出一大堆数据,这显然太不直观了,如果能将这些数据以条形图(直方图)的形式表示,将会大大增加这些数据的直观性,也便于数据的分析与对比。下面以顾客对餐饮服务打分为例,练习这方面的程序编写方法。假设有40个学生被邀请来给自助餐厅的食品和服务质量打分,分数划分为1~10这10个等级(1表示最低分,10表示最高分),试统计调查结果,并用*打印出如下形式的统计结果直方图。
Grade Count Histogram
1 5 *****
2 10 **********
3 7 *******
答案#include <stdio.h>
#include <stdlib.h>
void print_star(int n)
{
int i;
for(i=1;i<=n;++i)
printf("*");
}
main()
{
int i,j,t;
int count[11]={0,0,0,0,0,0,0,0,0,0,0};
int score[40]={2,2,2,2,3,3,5,4,5,4,8,7,10,2,2,2,2,3,3,5,4,5,4,8,7,1,2,2,2,2,3,3,5,4,5,4,8,7,1,9};
for(i=0;i<40;++i)
{
switch(score[i])
{
case 1:count[1]+=1;break;
case 2:count[2]+=2;break;
case 3:count[3]+=3;break;
case 4:count[4]+=4;break;
case 5:count[5]+=5;break;
case 6:count[6]+=6;break;
case 7:count[7]+=7;break;
case 8:count[8]+=8;break;
case 9:count[9]+=9;break;
case 10:count[10]+=10;break;
default:printf("the %2dth score is out of range!\n",i+1);
}
}
printf("Grade Count Histograme\n");
for(i=1;i<=10;++i)
{
printf("%2d%5d\t",i,count[i]);
print_star(count[i]);
printf("\n");
}
system("pause");
}
展开
 我来答
wchyumo2011
2015-07-06 · TA获得超过2万个赞
知道大有可为答主
回答量:5810
采纳率:79%
帮助的人:2772万
展开全部
#include <stdio.h>
#include <stdlib.h>
/*
 * 打印n个*
**/
void print_star(int n)
{
    int i;
    for(i=1;i<=n;++i)   //循环n次
        printf("*");    //打印*
}
/*
 * 主函数
**/
int main()
{
    int i;
    int count[11]={0,0,0,0,0,0,0,0,0,0,0};  //声明并初始化统计数组
    int score[40]={2,2,2,2,3,3,5,4,5,4,8,7,10,2,2,2,2,3,3,5,4,5,4,8,7,1,2,2,2,2,3,3,5,4,5,4,8,7,1,9};   //成绩
    for(i=0;i<40;++i)   //循环遍历成绩数组
    {
        switch(score[i])//判断成绩值,并统计成绩
        {
        case 1:count[1]+=1;break;
        case 2:count[2]+=1;break;
        case 3:count[3]+=1;break;
        case 4:count[4]+=1;break;
        case 5:count[5]+=1;break;
        case 6:count[6]+=1;break;
        case 7:count[7]+=1;break;
        case 8:count[8]+=1;break;
        case 9:count[9]+=1;break;
        case 10:count[10]+=1;break;
        default:printf("the %2dth score is out of range!\n",i+1);
        }
    }
    printf("Grade Count Histograme\n");
    for(i=1;i<=10;++i)//循环遍历统计数组
    {
        printf("%2d%5d\t",i,count[i]);//打印grade和count
        print_star(count[i]);       //调用函数打印*直方图
        printf("\n");                   //打印回车
    }
    system("pause");
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式