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

求助C++问题 关于数组

ldrldr 发布于 2016-03-12 14:27, 2944 次点击
编写一个程序,要求用户输入一年12月,每月的降雨总量,并采用一个float数组存储,程序显示一年内的降雨总量,平均每月的降雨量,
降雨量最大的月份和最小的月份。
为什么我编的显示的运行错误,我知道可能是输入数组的方式不对,不能直接输入一个数组,求大神帮忙,应该如何更改
#include<iostream>
#include<string>
using namespace std;
#define size_array(a) sizeof(a)/sizeof(a[0])
float max(float a[],int len)
{
    float max =a[0];
    for(int i=0;i<len;i++)
    {
        if(a[i]>max) max=i;
    }
    return max;
}
float min(float a[],int len)
{
    float min=a[0];
    for(int i=0;i<len;i++)
    {
        if(a[i]<min) min=i;
    }
    return min;
}
float average(float a[],int len)
{
    float average=0;
    for(int i=0;i<len;i++)
    {    average=average+a[i];}
    return average/12;
}
float add(float a[],int len)
{
    float add=0;
        for(int i=0;i<len;i++)
            add=add+a[i];
            return add;
}
void main()
{
    float a[13];
    cout<<"请输入12个月的降雨量"<<endl;
    cin>>a[13];
    cout<<"average "<<average(a,size_array(a))<<endl;
    cout<<"max "<<max(a,size_array(a))<<endl;
    cout<<"min " <<min(a,size_array(a))<<endl;
    cout<<"add "<<add(a,size_array(a))<<endl;
}
6 回复
#2
ldrldr2016-03-12 14:31
表示刚开始学习C++觉得比C难好多
#3
TonyDeng2016-03-12 14:33
你寫的根本就是C
#4
TonyDeng2016-03-12 14:33
每次輸入一個數據循環12次會嗎?
#5
ldrldr2016-03-12 14:37
回复 3楼 TonyDeng
因为是学生,刚开始学习C++,还不是很懂,刚才仔细看了一下忽然明白了,谢谢你。
#6
TonyDeng2016-03-12 14:40
現代C++不建議再使用數組的了——如果沒有充足的理由使用其他數據結構,那麽就用vector。
#7
rjsp2016-03-14 08:50
float a[13];
cin>>a[13];
------- 你其实想要的是 cin>>a[0]>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6]>>a[7]>>a[8]>>a[9]>>a[10]>>a[11]吧
1