```c #include <stdio.h> // 函数用于实现矩阵偶数列元素的平移 void shiftColumns(int n, int k, int x, int matrix[][100]) { int temp[100]; // 用于临时存储要平移的列元素 for (int j = 0; j < n; j += 2) { // 处理偶数列 for (int i = n - 1; i >= k; i--) { // 从下往上平移 matrix[i][j] = matrix[i - k][j]; } for (int i = 0; i < k; i++) { // 用 x 填充空出的位置 matrix[i][j] = x; } } } // 函数用于计算每行元素的和 void calculateSum(int n, int matrix[][100], int sum[]) { for (int i = 0; i < n; i++) { sum[i] = 0; for (int j = 0; j < n; j++) { sum[i] += matrix[i][j]; } } } // 主函数 int main() { int n, k, x; scanf("%d %d %d", &n, &k, &x); int matrix[100][100]; int sum[100]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { scanf("%d", &matrix[i][j]); } } shiftColumns(n, k, x, matrix); calculateSum(n, matrix, sum); for (int i = 0; i < n - 1; i++) { printf("%d ", sum[i]); } printf("%d\n", sum[n - 1]); return 0; } ``` 额外需要注意的逻辑点: 1. 注意处理输入的边界情况,比如 n、k、x 的取值范围。 2. 对于矩阵元素的存储和操作要小心,确保没有越界访问。 3. 在计算每行元素和时,要确保累加的准确性。 [2024-12-11 15:03:22 | AI写代码神器 | 523点数解答]