添加数组的两个连续元素时得到错误的值

时间:2019-05-29 16:53:34

标签: c++ arrays string sum

我正在尝试打印数组a []的两个连续元素的和,但是输出总是错误的。

我已经尝试调试此问题,但是我无法找出错误。

int main(){
    int sum = 0, flag = 0, a[7];
    string tag;
    cin >> tag;
    if(tag.length() > 9) cout << "invalid\n";
    else
    { 
        for(int i = 0; i < tag.length(); i++){
        if(tag[i] == 0 or tag[6] != 45 or tag[2] < 65 or tag[2] > 90 or isVowel(tag[2]) == 1) cout << "invalid\n";
        else if(i == 2 or i == 6) continue;
        else a[i] = tag[i]; // Here I have copied the numbers from the string "tag" to the array a[]
    }
    for(int j = 0; j < 6; j++){
        sum = a[j] + a[j+1];   // <<---- *This is the point of problem*
        cout << sum << endl;  
    }
    return 0;
}

对于输入字符串21G356-89,我希望输出如下: 3 4 8 11 14 17 但是收到的输出如下: 99 49 51 104 107 54

0 个答案:

没有答案