标题:下面这个程序中哪个步骤是错误的
只看楼主
黑暗骑士5D
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2019-11-6
结帖率:100%
 问题点数:0 回复次数:8 
下面这个程序中哪个步骤是错误的
以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序执行后的运行结果不正确,调试中发现有一条语句在程序中的位置不正确,这条语句是哪一条?(  )

#include <stdio.h>
int main()
{
    int n,k;
    float score,sum,ave;
    sum=0.0;
    for(n=1; n<=10; n++)
    {
        for(k=1; k<=4; k++)
        {
            scanf("%f", &score);
            sum+=score;
        }
        ave=sum/4.0;
        printf("第%d位学生的平均分是%f\n",n,ave);
    }
    return 0;
}
搜索更多相关主题的帖子: sum 步骤 错误 学生 score 
2019-11-25 19:48
c鳌白
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:24
专家分:101
注 册:2019-11-10
得分:0 
ave未初始化
2019-11-25 20:35
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
sum=0.0;

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2019-11-25 20:51
bcbbcclbbc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:194
专家分:528
注 册:2019-8-15
得分:0 
回复 2楼 c鳌白
有些变量不一定需要初始化,使用或输出之前赋个值就好了;         
ave=sum/4.0;

sum为四门课程的总成绩。因为每个学生的成绩不同,所以需要在每次循环前初始化      
sum=0;
2019-11-25 22:42
葵青
Rank: 2
等 级:论坛游民
帖 子:7
专家分:10
注 册:2019-11-14
得分:0 
#include <stdio.h>
int main()
{
    int n,k;
    double score,ave,sum=0.0;
    for(n=1; n<=10; n++)
    {
        for(k=1; k<=4; k++)
        {
            scanf("%lf", &score);
            sum+=score;
        }
        ave=sum/4.0;
        printf("第%d位学生的平均分是%lf\n",n,ave);
    }
    return 0;
}
2019-11-25 23:27
wangxinbozj
Rank: 2
等 级:论坛游民
威 望:2
帖 子:16
专家分:18
注 册:2019-12-1
得分:0 

#include <stdio.h>
 int main()
 {
     int n,k;
     float score,sum,ave;
     for(n=1; n<=10; n++)
     {
         sum=0.0;
         for(k=1; k<=4; k++)
         {
             scanf("%f", &score);
             sum+=score;
         }
         ave=sum/4.0;
         printf("第%d位学生的平均分是%f\n",n,ave);
     }
     return 0;
 }


sum=0;语句需要放到第一个for语句里。
2019-12-02 21:12
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
为什么不按照C标准建议的那样 ------ 不将局部标识名污染到外界 ------ 规规矩矩地写代码?

程序代码:
#include <stdio.h>

int main( void )
{
    for( unsigned i=0; i!=10; ++i )
    {
        double sum = 0.0;
        for( unsigned j=0; j!=4; ++j )
        {
            double score;
            scanf( "%lf", &score );
            sum += score;
        }

        double avg = sum/4.0;
        printf( "第%u位学生的平均分是%f\n", i+1, avg );
    }
}

2019-12-03 08:59
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
r版您定义avg的位置是++范儿。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2019-12-03 12:46
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
以下是引用forever74在2019-12-3 12:46:30的发言:

r版您定义avg的位置是++范儿。

不是啊,是标准C语言的语法。
可以在 https:// 上测试一下,记得选择C语言(默认是C++语言)
2019-12-03 13:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498077-1-1.html




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

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