假设有40个学生被邀请来给餐厅的饮食和服务质量打分,分数划分为1~10这10个等级,编程统计并输出餐饮服务质量调查结果
#include<stdio.h>
#define N 40//设置学生总人数
void inputScore(int students,int stu[]);
int Statistic(int score,int stu[]);
void print(int score,int ret,int stu[]);
int main(void)
{
int students;//学生人数
int stu[N]={0};//保存各学生所打分数
int score;//分数
printf("Please input the individual score in order:\n");
for(students=1;students<=N;students++)
{
inputScore(students,stu);
}
printf("-----------------------\n");
printf("Grade\tCount\tHistogram\n");
for(score=1;score<=10;score++)
{
print(score,Statistic(score,stu),stu);
printf("\n");
}
return 0;
}
//输入分数
void inputScore(int students,int stu[])
{
printf("NO.%d:",students);
scanf("%d",&stu[students-1]);
return;
}
//统计各分数的票数
int Statistic(int score,int stu[])
{
int i;//数组stu[]下标
int count=0;//计票
for(i=0;i<N;i++)
{
if(score==stu[i])
{
count++;
}
}
return count;
}
//打印统计结果
void print(int score,int ret,int stu[])
{
int i;//计数
printf("%d\t%d\t",score,ret);
for(i=1;i<=ret;i++)
{
printf("* ");
}
return;
}