c语言检查错误!要讲明白那里错了,还有因为什么原理错了!(高分)

分时拿来奖赏的!好答案会加分!学习更重要,学好了不挂科啊!我是学计算机软件的具体题目!(很简单的题目,不要其他答案,我要改正了我的那些的答案)才行!题目如下:餐饮服务质量... 分时拿来奖赏的!好答案会加分!学习更重要,学好了不挂科啊!
我是学计算机软件的
具体题目!(很简单的题目,不要其他答案,我要改正了我的那些的答案)才行!题目如下:
餐饮服务质量调查打分
顾客对餐饮服务打分。编程:输入被邀请来给自助餐厅的食品和服务质量打分的10个学生给出的分数,分数有1~5这5个数值(1表示最低分,5表示最高分),计算调查结果,并用*打印出如下形式的统计结果直方图。
Grade Count Histogram
1 5 *****
2 10 **********
3 7 *******

我写的那些代码!

#include<stdio.h>
void main()
{
int i,j,k=0,l=0,grade[10],count[6],a;
char histogram[5];
for(i=0;i<10;i++)
{ a=i;
printf("\nPlease input the NO.%d student's score(1-5):",i+1);

scanf("%d",&grade[i]); //用for输入每个 分数
for(j=1;j<6;j++)
{ //判断是否满足1-5 下面一样
if(grade[i]==j)
{
count[j]=count[j]+1; //记录每一个分数的次数 下面一样
break;
}
else
{
printf("input error,please input NO.%d score again",i);
i=a;count[j]=0;
break;

}
}
}
printf("\nGrade Count Histogram\n");
for(i=1;i<6;i++)
{
printf("\n%-10d%-10d",i,count[i]);
j=count[i];
for(j=0;j<count[i];j++)
printf("*");
printf("\n");
}
getch();
}

是大虾就放马过来吧!随便抢分!
在线等啊!!!!!!!!
展开
 我来答
sandamailcn
2009-12-18 · TA获得超过743个赞
知道小有建树答主
回答量:541
采纳率:0%
帮助的人:0
展开全部
修改好的程序:

#include<stdio.h>
#include <conio.h>
void main()
{
int i,j,k=0,l=0,grade[10],count[6],a;
char histogram[5];

for( j=1; j<6; j++ ) count[j] = 0;

for(i=0;i<10;i++)
{ a=i;
printf("\nPlease input the NO.%d student's score(1-5):",i+1);

scanf("%d",&grade[i]); //用for输入每个 分数
if( grade[i] < 1 || grade[i] > 5 ) {
printf( "grade should be in range: 1-5\n" );
i = a;
continue;
}

count[ grade[i] ] ++;

}
printf("\nGrade Count Histogram\n");
for(i=1;i<6;i++)
{
printf("\n%-10d%-10d",i,count[i]);
j=count[i];
for(j=0;j<count[i];j++)
printf("*");
printf("\n");
}
getch();
}

程序中有getch应该包含#include <conio.h>

修改的话,
1.在用户输入之前, 先执行:
for( j=1; j<6; j++ ) count[j] = 0;
2.在用户输入之后,

scanf("%d",&grade[i]); //用for输入每个 分数
的下面:
if( grade[i] < 1 || grade[i] > 5 ) {
printf( "grade should be in range: 1-5\n" );
i = a;
continue;
}

主要问题: count没有初始化
for( j=1; j<6; j++ ) count[j] = 0;
(一般会用数组的0-4)
同时判断分数是否有效,不需要一个循环,直接判断是否在1-5之内就行了,不在,让用户重输,
在的话,直接 count[ grade[j] ] ++;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式