小A同学在完成一个数学题

小A同学在完成一个数学题:求给定的10个整数的和。小A同学在求完之后发现和参考答案对不上,检查后发现在求和过程中多计算了一个数,其他过程没有问题。现给出小A计算用的11个数,以及正确的参考答案,请算出小A同学多计算的那一个数。

时间限制:1000
内存限制:65536
输入
第一行11个正整数,每个数小于等于1000000 第二行一个整数,表示参考答案
输出
一个整数,表示多计算的那一个数。
样例输入
2 4 6 8 1 3 5 7 9 5 11
54
样例输出
7
提示
样例中原有的10个数为2 4 6 8 1 3 5 9 5 11,和为54,多余的数为7。

img

#include <iostream>
using namespace std;

int main()
{
    int n,i,j,s=0;
    int a[11];
    for(int i=0; i<11; i++)
    {
        cin>>a[i];
    }
    cin>>n;
    for(i=0;i<11;i++){
        s=0;
        for(j=0;j<11;j++){
        if(i!=j){
            s+=a[j];
        }
    }
    if(s==n){
        cout<<a[i];
    }
    }
    

return 0;
}

累加11个输入数字的和得到S2,然后用S2减去期望的和,得到的就是多加的数:

img

#include <iostream>
using namespace std;

int main()
{
    int a[11], s, i;
    int s2 = 0;
    for (i = 0; i < 11; i++)
    {
        cin >> a[i];
        s2 += a[i];
    }
    cin >> s;
    cout << s2 - s << endl;
    return 0;
}