回 帖 发 新 帖 刷新版面

主题:C++疑惑

#include <iostream>
using namespace std;
int main(){
    int n,m;
    int *b,*a;
    cin>>n;
    b=new int[n];
    b[0]=0;
    for(int i=0;i<n;i++){
       cin>>m;
       a=new int[m];
       for(int j=0;j<m;j++)
           cin>>a[j];
       for(int j=0;j<m;j++)
           b[i]=b[i]+a[j];
       delete a;
    }
    for(int i=0;i<n;i++){
        cout<<b[i]<<endl;
        cout<<endl;
    }
    delete b;
    return 0;
}
这个程序是输入一个行数n,然后输入n行数据,每行数据开头第一个数是该行数据的个数,最后输出每行数据值的和
从第二行数据开始就出错了,错在哪里

回复列表 (共2个回复)

沙发

没将b[i]初始化为0;
在cin>>m;前加一句:b[i]=0;
OK了!

板凳

谢了,后来意识到了这个问题。

我来回复

您尚未登录,请登录后再回复。点此登录或注册