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

数组的问题

大笑的蚂蚁 发布于 2012-07-28 23:18, 358 次点击
// Storing, displaying and averaging a series of humidity readings, using a two-dimensional array.

#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::endl;
using std::string;

int main() {
  const string days[] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday"};
  const string times[] = {"morning", "midday", "evening"};

  float humidity[sizeof days/sizeof days[0]][sizeof times/sizeof times[0]] = {0.0f};
  float day_averages[sizeof days/sizeof days[0]] = {0.0f};
  float week_averages[sizeof times/sizeof times[0]] = {0.0f};

  // Loops used for entering humidity data and accumulating totals.
  for(int day = 0 ; day < sizeof days/sizeof days[0] ; day++) {
    cout << endl << days[day] << endl;
    for(int time = 0 ; time < sizeof times/sizeof times[0] ; time++) {
      cout << "  Enter " << times[time] << " reading: ";
      cin  >> humidity[day][time];
      week_averages[time] += humidity[day][time];     // Accumulate total for current time
      day_averages[day] += humidity[day][time];       // Accumulate total for current day
    }
  }
  cout << endl;

  // Output average for each day
  for(int day = 0 ; day < sizeof days/sizeof days[0] ; day++)
    cout << "Average humidity for " << days[day]  << ": "
         << day_averages[day]/(sizeof times/sizeof times[0]) << endl;

  cout << endl;

  // Output weekly average for each time
  for(int time = 0 ; time < sizeof times/sizeof times[0] ; time++)
    cout << "Average " << times[time]  << " humidity: "
         << week_averages[time]/(sizeof days/sizeof days[0]) << endl;


  return 0;
}
谁能给解释一下整个过程呢,然后想知道为什么这个程序中途编译时不能正常运行呢???
2 回复
#2
大笑的蚂蚁2012-07-30 00:46
大家给看一下,哪里出错了啊!!!!
#3
liudw22012-07-30 03:38
day重复定义了
main.cpp(26) : error C2374: 'day' : redefinition; multiple initialization
        F:\C源文件\vol\list\main.cpp(14) : see declaration of 'day'
1