C语言实验课第三次实验课第二题

sy3_2.c 餐饮服务质量调查打分,使用一维数组
顾客对餐饮服务打分。编程:输入被邀请来给自助餐厅的食品和服务质量打分的 10 个学生给出的分数,分数有 ABCDE 这 5 个值(A 表示最低分,E 表示最高分),计算调查结果,并打印出如下形式的统计结果直方图(以下只是有可能的一种打分结果)。
Grade       Count     Histogram
A                 1              *
B                 1              *
C                 1              *
D                 6              ******
E                 1              *
思考:不使用switch…case或if else语句,应该如何编程。
代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j;
char Histogram;
char Grade[10];
char Score[5]={'A','B','C','D','E'};
int Count[5]={0,0,0,0,0};
for(i=0;i<10;i++)
{
printf("Please input your Grade:\n",Grade);
scanf("%c",&Grade[i]);
getchar();
if(Grade[i]=='A')
Count[0]++;
else if(Grade[i]=='B')
Count[1]++;
else if(Grade[i]=='C')
Count[2]++;
else if(Grade[i]=='D')
Count[3]++;
else if(Grade[i]=='E')
Count[4]++;
printf("\n");
}

printf("Grade Count Histogram\n");
for(i=0;i<5;i++)
{
printf("%c\t%d\t\t",Score[i],Count[i]);
for(j=0;j<Count[i];j++)
{
printf("*");

}
printf("\n");

}
return 0;

}

在利用数组进行统计时,一定要将数组内的元素的值初始化为0。用getchar();来输入回车。

posted @ 2020-12-22 10:37  HosenTin  阅读(423)  评论(0)    收藏  举报