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

关于二维数组的问题

mghxz252 发布于 2010-05-17 11:42, 508 次点击
程序代码:
程序如下:
建立一个二维数组,存储星期一到星期五每天早、中、晚三个时段的温度。
然后输出星期一到星期五每天的平均温度。
但是我每次都得不出正确答案。
到底是哪里出错了,请大家指正一下!!!


#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::string;
using std::endl;
int main(){
    int a,b,sum=0;
    float aver=0;
     float air_humidity[4][2];
    for(a=0;a<5;a++)
    {
    switch(a){      
    case 0:cout<<"enter the monday is: "; break;
    case 1:cout<<"enter the Tuesday is: ";break;
    case 2:cout<<"enter the wednesday is: ";break;
    case 3:cout<<"enter the thursday is: ";break;
    case 4:cout<<"enter the friday is: ";break;
         }            
    for(b=0;b<3;b++)
     {if(b==0)  cout<<"please enter morning: ";
          else if(b==1)  cout<<"please enter afternoon: ";
          else cout<<"please enter night: ";
         cin>>air_humidity[a][b]; }
    }
   for(a=0;a<5;a++)
   {
   switch(a){      
    case 0:cout<<"the monday is: "; break;
    case 1:cout<<"the Tuesday is: ";break;
    case 2:cout<<"the wednesday is: ";break;
    case 3:cout<<"the thursday is: ";break;
    case 4:cout<<"the friday is: ";break;
         }            
   for(b=0;b<3;b++)
   { sum=sum+air_humidity[a][b];}
    aver=sum/3;
     cout<<aver<<endl;
     sum=0;
   }
  system("pause");
}
4 回复
#2
lintaoyn2010-05-17 11:56
float air_humidity[4][2];//float air_humidity[5][3];
#3
最近不在2010-05-17 13:23
数组越界.a[n]元素为0 - (n-1)共n个
程序代码:
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;

void ChDay(int i);

int main()
{
    typedef struct FUN
    {
        int a;
        int b;
        int c;
        double d;
    }obj;
   
    obj pl[5];
    for(int i = 0; i < 5; i++)
    {
        if(0 == i)
        {
            cout<<"————  信息输入  ————"<<endl;
        }
        
        ChDay(i);
            
        cout<<"早上:";
        cin>>pl[i].a;
        cout<<"中午:";
        cin>>pl[i].b;
        cout<<"晚上:";
        cin>>pl[i].c;
        if(4 == i)
        {
            cout<<"输入完毕"<<endl;
        }
    }
   
    cout<<endl;
   
    for(int j = 0; j < 5; j++)
    {
        if(0 == j)
        {
            cout<<"————  信息显示  ————"<<endl;
        }
        
        ChDay(j);
        pl[j].d = (pl[j].a + pl[j].b + pl[j].c)/3;   
        cout<<"早上:"<<pl[j].a<<endl;
        cout<<"中午:"<<pl[j].b<<endl;
        cout<<"晚上:"<<pl[j].c<<endl;
        cout<<"晚上:"<<pl[j].d<<endl;

        if(4 == i)
        {
            cout<<"显示完毕"<<endl;
        }
    }
   
    system("pause");
    return 0;
}

void ChDay(int i)
{
    switch(i)
        {
            case 0:cout<<"* * * * 星期一 * * * * "<<endl;break;
            case 1:cout<<"* * * * 星期二 * * * * "<<endl;break;
            case 2:cout<<"* * * * 星期三 * * * * "<<endl;break;
            case 3:cout<<"* * * * 星期四 * * * * "<<endl;break;
            case 4:cout<<"* * * * 星期五 * * * * "<<endl;break;
        }
}
#4
mghxz2522010-05-17 14:07
明白了,謝謝。
#5
zyh4707163572010-05-17 16:26
新手 学习了  
1