C语言程序设计实践教程

 

定义一个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