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

关于数组输入的问题

简Greensoul 发布于 2011-11-13 12:59, 1255 次点击
编写程序,读取一个非负实数序列并计算它们的平均值,用一个负数-1表示输入的终止,要求显示平均值的同时还要显示数据的个数。
拜托大家!我刚入门,实在有很多不懂的地方。
9 回复
#2
dhyco2011-11-13 14:20
#include<iostream>
using namespace std;
int main()
{
    double a=-1,s=0,b=0;
    int i=0;
    while(1)
    {
        cin>>a;
        if(a==-1) break;
        s+=a;
        i++;
        b=s/i;
    }
    cout<<b<<endl<<i<<endl;
    return 0;
}
#3
dhyco2011-11-13 14:24
又或者
#include<iostream>
using namespace std;
int main()
{
    double a=-1,s=0;
    int i=0;
    while(1)
    {
        cin>>a;
        if(a==-1) break;
        s+=a;
    i++;
    }
    cout<<s/i<<endl<<i<<endl;
    return 0;
}
#4
简Greensoul2011-11-13 14:30
回复 2楼 dhyco
谢谢你啊!不过好像要用到数组
程序执行样例要求如下:

请输入要统计的正实数,负数表示结束:0 1 2 3 4 5 6 7 8 9 -1
你输入了10个数
它们的平均值为:4.5
Press any key to continue

能不能再帮我看看
#5
简Greensoul2011-11-13 14:52
回复 3楼 dhyco
谢谢你啊!我知道怎么弄了,很开心!想再问一下,这道题可以用到数组吗?
#6
huqinweI9872011-11-13 18:58
回复 5楼 简Greensoul
用不了定长数组,你不知道输入多少个数,数组会不够用的
#7
简Greensoul2011-11-13 19:30
回复 6楼 huqinweI987
恩恩,谢谢!我有点知道怎么弄了
#8
hxcet2011-11-18 11:53
回复 楼主 简Greensoul
这个是我用数组做的,你看看行不行
#include<iostream>
using namespace std;
void main()
{
    double a[100],sum=0.0;
    int i=0,k;
    cout<<"请将数组a逐个输入: "<<endl;
    cin>>a[0];
    while( a[i]!=-1.0 )
    { sum += a[i]; i++; cin>>a[i]; k=i; }
    cout<<"这组数据有"<<k<<"个,且平均值为: "<<double(sum/k)<<endl;
}
#9
简Greensoul2011-11-19 15:58
回复 8楼 hxcet
谢谢,这是我想要的
#10
hxcet2011-11-22 20:42
回复 9楼 简Greensoul
呵呵,不谢。
1