| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 528 人关注过本帖
标题:求助 错误在哪·(初学者)
只看楼主 加入收藏
qq383264679
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:155
专家分:130
注 册:2012-1-19
结帖率:88.89%
收藏
已结贴  问题点数:20 回复次数:9 
求助 错误在哪·(初学者)
题目
   输入班上学生的一门课程成绩,分别计算出最高分 最低分和平均分,并统计高于平均分的人数。代码如下
#include "stdio.h"
#define N 40
void main()
{
    float max,min,aver,sum,score[N];
    int n,k=0,i; /*n为输入班上成绩的分数 m为高于平均分的人数*/
    printf("请输入班上人的实际人数:\n");
    scanf("%d",&n);
    printf("请输入班上人的分数:\n");
               
for(i=0;i<n;i++)
   
      
      scanf("%f",&score[i]);
   
max=min=sum=score[0];
{   
if(score[i]>max)
    max=score[i];
if(score[i]<min)
    min=score[i];
    sum=sum+score[i];
}   
    aver=sum/n;
printf("max=%f   min=%f\n",max,min);   
for(i=0;i<n;i++)
if(score[i]>=aver)  k++;
printf("k=%d  aver=%f",k,aver);   
   
            
}         /*自己找错误很难,别人给出提示在找很简单,人就是这样,个人的力量是有限的*/

[ 本帖最后由 qq383264679 于 2012-2-25 11:14 编辑 ]
搜索更多相关主题的帖子: max 计算 include 课程 
2012-02-25 10:38
qq383264679
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:155
专家分:130
注 册:2012-1-19
收藏
得分:0 
来人啊·我在坐凳··等你们来解惑
2012-02-25 10:41
icysky
Rank: 5Rank: 5
来 自:心灵世界
等 级:职业侠客
威 望:1
帖 子:172
专家分:399
注 册:2011-5-17
收藏
得分:0 
{   
if(score[i]>max)
    max=score[i];
if(score[i]<min)
    min=score[i];
    sum=sum+score[i];
}   
这一部分的  for  跑哪去了

唯一的一行注释  还是错的....

[ 本帖最后由 icysky 于 2012-2-25 10:50 编辑 ]

不管怎么走、总有一个终点...
2012-02-25 10:48
tumenglin
Rank: 2
等 级:论坛游民
帖 子:7
专家分:42
注 册:2012-1-4
收藏
得分:20 
for 不对 sum的计算也不对下面是改过的!
#include "stdio.h"
#define N 40
void main()
 {
     float max,min,aver,sum=0,score[N];
     int n,k=0,i; /*n为输入班上成绩的分数 m为高于平均分的人数*/
     printf("请输入班上人的实际人数:\n");
     scanf("%d",&n);
     printf("请输入班上人的分数:\n");
                 
for(i=0;i<n;i++)
     
{      
 scanf("%f",&score[i]);   
 max=min=score[0];   
 if(score[i]>max)
    max=score[i];
 if(score[i]<min)
     min=score[i];
     sum=sum+score[i];
}   
    aver=sum/n;
 printf("max=%f   min=%f\n",max,min);   
for(i=0;i<n;i++)
if(score[i]>=aver)  k++;
printf("k=%d  aver=%f",k,aver);   
   
            
 }
2012-02-25 10:58
qq383264679
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:155
专家分:130
注 册:2012-1-19
收藏
得分:0 
谢谢··2楼
 ···花括号打错了·
1楼杂(为什么)说我注释错了·
2012-02-25 11:07
icysky
Rank: 5Rank: 5
来 自:心灵世界
等 级:职业侠客
威 望:1
帖 子:172
专家分:399
注 册:2011-5-17
收藏
得分:0 
回复 5楼 qq383264679
  你理解错了  我的意思不是注释错误了     注释的内容错了

不管怎么走、总有一个终点...
2012-02-25 11:54
杨松松
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:98
专家分:142
注 册:2011-12-3
收藏
得分:0 
if里面的score[i ]换成score[i+1]也可以吧
2012-02-25 16:57
Huangq
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2011-12-10
收藏
得分:0 
sum   ave  要给初值。
2012-02-26 12:50
sunlang1234
Rank: 2
等 级:论坛游民
帖 子:47
专家分:77
注 册:2012-2-24
收藏
得分:0 
#include "stdio.h"
#define N 40
void main()
{
    float max,min,aver,sum,score[N];
    int j;
    int h;
    int n,k=0,i; /*n为输入班上成绩的分数 m为高于平均分的人数*/
    printf("请输入班上人的实际人数:\n");
    scanf("%d",&n);
    printf("请输入班上人的分数:\n");
               
for(i=0;i<n;i++)
   
      
      scanf("%f",&score[i]);
   
max=min=score[0];
sum=0;
for(j=0;j<n;j++)
{   
if(score[j]>max)
    max=score[j];
if(score[j]<min)
    min=score[j];
    sum=sum+score[j];
}   
printf("sum=%f\n",sum);  
    aver=sum/n;
printf("max=%f   min=%f\n",max,min);   
for(h=0;h<n;h++)
{
    if(score[h]>=aver)  
        k++;
}
    printf("k=%d  aver=%f",k,aver);   

   
           
}
2012-02-26 23:36
sunlang1234
Rank: 2
等 级:论坛游民
帖 子:47
专家分:77
注 册:2012-2-24
收藏
得分:0 
这样就对了。你的程序缺少for循环,还把score【1】加了两遍
2012-02-26 23:36
快速回复:求助 错误在哪·(初学者)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012841 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved