注册 登录
编程论坛 C++教室

试试自己的水平

战士 发布于 2008-06-29 01:56, 2442 次点击
void  main()
{
 int n,k;
float score,sun, ave;
sun=0.0;
for(n=1;n<10;n++)
{
for(k=1;k<=4;k++)
{
cin>>score;
sum+=score;
ave=sum/4.0;
cout<<"N0."<<n<<":"<<ave;
}
}
}
以上程序有一句位置错误,看看谁能查出来。
15 回复
#2
david830_wu2008-06-29 03:27
首先发现了变量声明的问题:问什么前面声明了浮点sun,而后面却变成了sum了呢?看字面意思,作者是欲求和之后求平均值,所以sun应全部改为sum。
其次,作者企图求取平均值,但除法却做在了k的循环中,这样,就与目的南辕北辙了。可将语句:
ave=sum/4.0;
cout<<"N0."<<n<<":"<<ave;
置于k的循环外,n的循环中。
另外在注意一下格式和标准,就更好了!
#include<iostream>
using namespace std;
int main()
{
    int n,k;
    double score,sum=0.0,ave;
    for(n=1;n<10;n++)
    {
    for (k=1;k<=4;k++)
    {
        cout<<"Number "<<k<<"=";
        cin>>score;
        sum+=score;
    }
    ave=sum/4.0;
    cout<<"N0."<<n<<":"<<ave<<endl;
    }
    return 0;
}
#3
orzorz2008-06-29 09:43
orz...
ls被骗了,这个是楼主的作业
#4
liang537702008-06-29 20:55
没有定义sum这样的变量!
#5
bibingyan2008-06-29 23:26
昏...!
#6
晨曦的朝阳2008-06-30 18:58
不会真是作业吧。。。
#7
Me_MaRs2008-07-01 00:07
这不是作业, 如果是作业楼住还用发
想考大家的眼力, 发现前面定义的是  sun
后面使用的是sum
#8
战士2008-07-01 07:55
这个我可以负责任的说不是作业,而是我公司的一道面试题,我刚进公司呵呵。随时透漏大家一点面试方面的题。
#9
happymakai2008-07-01 11:03
其实只要运行一下就可以了;倒是要先明确知道,要做什么!
#10
wes2008-07-02 22:43
averge 在 looping 入面
那每次looping都會改 averge

放回looping出面就一定對
#11
insf_F2008-07-08 18:08
二楼N
支持一下二楼~
这么简单的面试题?
#12
flyingcloude2008-07-09 09:50
如果是求四个数的平均值的话,那sum的定义也应该放错了位置吧
#13
我是杨过2008-07-12 22:20
#14
kongwei2542008-07-13 20:08
很好  很强大
#15
ningzhifeng2008-07-16 06:38
那到底是那里的错误啊
呵呵
#16
yinliwen1102008-07-17 11:13
除了sun(可能是笔误)外,都不明白这个程序到底要表达些什么?就要查一句位置错误?有点牵强了
1