标题:我刚写了那个“学生党,求助”的程序,为什么出了这种错误?
只看楼主
牧火逐云
Rank: 2
等 级:论坛游民
帖 子:14
专家分:29
注 册:2013-8-5
结帖率:100%
已结贴  问题点数:20 回复次数:3 
我刚写了那个“学生党,求助”的程序,为什么出了这种错误?
/*假设某班的成绩已经存储在一维数组中, 请计算并输出
1) 平均分(保留2位小数)
2) 不及格的总人数
3) 不及格的成绩与学号(就是数组元素下标)
假设:
1) 成绩为0-100的整数
2) 60分以下(不含60)为不及格*/
#include<iostream>
//#include<cstring>
using namespace std;
Average(int*s)
{
    float arg;
    int i,sum=0,n=1;
    for(i=0;s[i]!=0;i++)
    {
        n++;
        sum+=s[i];
    }
    arg=static_cast<float>(sum/n);
    cout<<"The average score is:"<<arg<<"    n是多少:"<<n<<endl;
    return 0;
}
int icount(int*s)
{
    int i,n=0;
    for(i=0;s[i]!='\0';i++)
    {
    if(s[i]<60)
    {
        n++;
    cout<<"The number:"<<i<<' '<<"The score:"<<s[i]<<' '<<n<<endl;
    }
    }
    cout<<"The number of score under 60  is:"<<n<<' '<<endl;
    return 0;

}
void main()
{
    int t[10]={56,87,78,98,97,26,45,92,85,46};
    Average(t);
    icount(t);
}
平均数求不出来,是个很大的数。不及格的还要多一个,迷糊了...
搜索更多相关主题的帖子: average include 元素 
2013-08-05 15:21
牧火逐云
Rank: 2
等 级:论坛游民
帖 子:14
专家分:29
注 册:2013-8-5
得分:0 
求给回复啊 !!!大神们。
2013-08-05 15:33
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
看不懂,我瞎写一个
程序代码:
#include <iostream>
#include <iomanip>
using namespace std;

double Average( const int* s, size_t n )
{
    double avg = 0.0;
    for( size_t i=0; i!=n; ++i )
        avg += s[i];
    return avg/n;
}

void icount( const int* s, size_t n )
{
    size_t num = 0;
    for( size_t i=0; i!=n; ++i )
    {
        if( s[i] < 60 )
        {
            ++num;
            cout << "The number:" << i << ' ' << "The score:" << s[i] << '\n';
        }
    }
    cout << "The number of score under 60  is:" << num << endl;
}

int main()
{
    int t[] = { 56,87,78,98,97,26,45,92,85,46 };
    size_t n = sizeof(t)/sizeof(t[0]);

    cout << "The average score is: " << fixed << setprecision(2) << Average(t,n) << endl;

    icount( t, n );

    return 0;
}

2013-08-05 15:39
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:10 
int类型数组不能用'\0' 来确认结束
最好的办法就是像3楼那样 把数组长度作为实参 传到函数里去

DO IT YOURSELF !
2013-08-05 15:41



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




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

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