题目

从标准输入读入两个长度均为 n 的整数数组,计算并输出它们对应位置元素相加生成的新数组。

输入格式:第一行输入数组长度 n;第二行输入第一个数组的 n 个整数;第三行输入第二个数组的 n 个整数。

输出格式:在一行中输出两数组相加后的新数组,元素以空格分隔,末尾换行。

数据范围与约定:1 ≤ n ≤ 500。

思路与算法

1. 向量对应点相加
分别读入数组 a 和 b。循环 i 从 0 到 n-1,对应位相加 c[i] = a[i] + b[i] 并输出。

2. 缓冲区输入规范
先顺序读满第一组数据,再读取第二组,保证流读取顺序与数组存储严格对齐。

完整程序

#include <stdio.h>

int main(void)
{
    int n, a[200], b[200];
    if (scanf("%d", &n) != 1 || n < 1 || n > 200) {
        return 1;
    }
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    for (int i = 0; i < n; i++) {
        scanf("%d", &b[i]);
    }

    // 对应下标元素相加:c[i] = a[i] + b[i]
    for (int i = 0; i < n; i++) {
        printf("%d%c", a[i] + b[i], i + 1 < n ? ' ' : '\n');
    }
    return 0;
}

运行示例

输入:

3
1 2 3
4 5 6

输出:

5 7 9