酷代码 AI
菜单
服务商

给定一个 n×n 的整数矩阵。对任一给定的正整数 k<n,我们将矩阵的偶数列的元素整体向下依次平移 1、……、k、1、……、k、…… 个位置,平移空出的位置用整数 x 补。你需要计算出结果矩阵的每一行元素的和。 输入格式: 输入第一行给出 3 个正整数:n(<100)、k(<n)、x(<100),分别如题面所述。 接下来 n 行,每行给出 n 个不超过 100 的正整数,为矩阵元素的值。数字间以空格分隔。 输出格式: 在一行中输出平移后第 1 到 n 行元素的和。数字间以 1 个空格分隔,行首尾不得有多余空格。 用c语言

```c #include <stdio.h> void shiftColumns(int n, int k, int x, int matrix[][n]) { int temp[n]; for (int j = 0; j < n; j += 2) { for (int i = n - 1; i >= 0; i--) { if (i + k < n) { matrix[i + k][j] = matrix[i][j]; } else { matrix[i][j] = x; } } } } void sumRows(int n, int matrix[][n]) { for (int i = 0; i < n; i++) { int sum = 0; for (int j = 0; j < n; j++) { sum += matrix[i][j]; } printf("%d%c", sum, i == n - 1? '\n' :''); } } int main() { int n, k, x; scanf("%d %d %d", &n, &k, &x); int matrix[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { scanf("%d", &matrix[i][j]); } } shiftColumns(n, k, x, matrix); sumRows(n, matrix); return 0; } ``` [2024-11-04 22:25:00 | AI写代码神器 | 345点数解答]

相关提问
实用工具查看更多
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]
数独游戏 [娱乐类]
经典推箱子 [娱乐类]
AI摸鱼五子棋 [娱乐类]