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

大神过来看看啊,我知道错误在哪却不会改,大神帮忙改改

h21314 发布于 2013-11-24 19:37, 559 次点击
用一个二维数组来存储输入三年中每个月的销量,程序将报告每年的销售量以及三年的总销售量。


我写的代码是这样的
int sale[3][12];
  int sum[3];
  int Sum=0;
  for(int i=0;i<3;i++)
  {
     cout<<"请输入第"<<i+1<<"年每个月的销量";
    for(int j=0;j<12;j++)
    {
    cin>>sale[i][j];
    sum[i]+=sale[i][j];
    }
    Sum+=sum[i];
  }
  for(int i=0;i<3;i++)
  {
      cout<<"第"<<i+1<<"年的销售量为"<<sum[i]<<endl;
  }
  cout<<"总销售量为"<<Sum<<endl;
    system("PAUSE");
    return 0;
}



程序运行时当我输入了第一年的销售量时按enter键后程序会把后面的结果全部显示出来,我知道是错在cin>>sale[i][j]那里,怎么修改才能使得输完第一年的数据接着输第二年和第三年的啊
9 回复
#2
i802862013-11-24 21:06
在Ubuntu下运行正常,输入第一年数据后可继续输入第二、三年的数据,但是sum[3]数组要初始化,不然就会被随机赋值
#3
h213142013-11-24 22:33
回复 2楼 i80286
我用的是vs2012,在win7下的,不知道怎么修改啊
#4
华子hear2013-11-25 20:03
对sum[3]初始化
#5
左手拉一只猫2013-11-26 21:54
以下是引用华子hear在2013-11-25 20:03:20的发言:

对sum[3]初始化

确实木有初始化了,会出现莫名其妙的结果。。。。
#6
小王子的花2013-11-27 12:56
不错
#7
QUESTION7892013-11-27 23:42
#include <iostream.h>
void main()
{
  int sale[3][12];
  int sum[3]={0};
  int Sum=0;
  int i,j;
  for(i=0;i<3;i++)
  {
    cout<<"请输入第"<<i+1<<"年每个月的销量";
    for(j=0;j<12;j++)
    {
    cin>>sale[i][j];
    sum[i]+=sale[i][j];
    }
    Sum+=sum[i];
  }
  for(i=0;i<3;i++)
  {
      cout<<"第"<<i+1<<"年的销售量为"<<sum[i]<<endl;
  }
  
  cout<<"总销售量为"<<Sum<<endl;
 }
  不多说了,其实你就是没有初始化sum..相信你一看就懂了,睡了,晚安

#8
QUESTION7892013-11-27 23:43
#include <iostream.h>
void main()
{
  int sale[3][12];
  int sum[3]={0};
  int Sum=0;
  int i,j;
  for(i=0;i<3;i++)
  {
    cout<<"请输入第"<<i+1<<"年每个月的销量";
    for(j=0;j<12;j++)
    {
    cin>>sale[i][j];
    sum[i]+=sale[i][j];
    }
    Sum+=sum[i];
  }
  for(i=0;i<3;i++)
  {
      cout<<"第"<<i+1<<"年的销售量为"<<sum[i]<<endl;
  }
  
  cout<<"总销售量为"<<Sum<<endl;
 }
  不多说了,其实你就是没有初始化sum..相信你一看就懂了,睡了,晚安

#9
QUESTION7892013-11-27 23:43
#include <iostream.h>
void main()
{
  int sale[3][12];
  int sum[3]={0};
  int Sum=0;
  int i,j;
  for(i=0;i<3;i++)
  {
    cout<<"请输入第"<<i+1<<"年每个月的销量";
    for(j=0;j<12;j++)
    {
    cin>>sale[i][j];
    sum[i]+=sale[i][j];
    }
    Sum+=sum[i];
  }
  for(i=0;i<3;i++)
  {
      cout<<"第"<<i+1<<"年的销售量为"<<sum[i]<<endl;
  }
  
  cout<<"总销售量为"<<Sum<<endl;
 }
  不多说了,其实你就是没有初始化sum..相信你一看就懂了,睡了,晚安

#10
QUESTION7892013-11-27 23:43
#include <iostream.h>
void main()
{
  int sale[3][12];
  int sum[3]={0};
  int Sum=0;
  int i,j;
  for(i=0;i<3;i++)
  {
    cout<<"请输入第"<<i+1<<"年每个月的销量";
    for(j=0;j<12;j++)
    {
    cin>>sale[i][j];
    sum[i]+=sale[i][j];
    }
    Sum+=sum[i];
  }
  for(i=0;i<3;i++)
  {
      cout<<"第"<<i+1<<"年的销售量为"<<sum[i]<<endl;
  }
  
  cout<<"总销售量为"<<Sum<<endl;
 }
  不多说了,其实你就是没有初始化sum..相信你一看就懂了,睡了,晚安

1