定义一个30个整型的数组,遍历统计1-5分各自有多少,printf相应的*号
void main()
{
int a[30], b[5] = {0};
int i;
for(i=0;i<30;i++)
{
scanf("%d",&a[i]);
b[a[i]-1]++;
}
printf("%10s%10s%20s\n","Grade","Count","Histogram");
for(i=0;i<5;i++)
{
printf("%10d%10d%10s",i+1,b[i],"");
for(int j=0;i<b[i];j++)
printf("*");
printf("\n");
}
}
代码如下:如有帮助,请采纳一下,谢谢。
#include <stdio.h>
int main()
{
int i,j;
int a[30];
int grade1 = 0,grade2 = 0,grade3 = 0,grade4 = 0,grade5 = 0;
printf("请输入30个学生的打分(1-5):");
for(i = 0;i< 30;i++)
{
scanf("%d",&a[i]);
if(a[i] == 1)
grade1++;
else if(a[i] == 2)
grade2++;
else if(a[i] == 3)
grade3++;
else if(a[i] == 4)
grade4++;
else if(a[i] == 5)
grade5++;
}
printf("Grade Count Histogram\n");
printf("1\t%d\t",grade1);
for (j = 0;j< grade1;j++)
printf("*");
printf("2\t%d\t",grade2);
for (j = 0;j< grade2;j++)
printf("*");
printf("3\t%d\t",grade3);
for (j = 0;j< grade3;j++)
printf("*");
printf("4\t%d\t",grade4);
for (j = 0;j< grade4;j++)
printf("*");
printf("5\t%d\t",grade5);
for (j = 0;j< grade5;j++)
printf("*");
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m