1. 一个二维数组赋了初值,用户输入一个数,在该二维数组中查找。找到则返回行列位置,没找到则提示。
#include <stdio.h>int main() {int arr[3][3] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};int t;printf("要查找的数:");scanf("%d", &t);int i, j, f = 0;for (i = 0; i < 3; i++) {for (j = 0; j < 3; j++) {if (arr[i][j] == t) {printf("找到 %d,位于第 %d 行,第 %d 列\n", t, i + 1, j + 1);f = 1;break;}}if (f) break;}if (!f) printf("未找到 %d\n", t);return 0;
}
2. 二维整型数组,求所有元素平均值,求每行最大值,求每列最小值。
#include <stdio.h>int main() {int arr[3][3] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};//平均值int sum = 0;for (int i = 0; i < 3; i++) {for (int j = 0; j < 3; j++) {sum += arr[i][j];}}double average = (double)sum / 9;printf("所有元素的平均值是:%.2f\n", average);//每行最大值for (int i = 0; i < 3; i++) {int max = arr[i][0];for (int j = 0; j < 3; j++) {if (arr[i][j] > max){max = arr[i][j];}}printf("第 %d 行的最大值是:%d\n", i + 1, max);}// 每列最小值for (int j = 0; j < 3; j++) {int min = arr[0][j];for (int i = 0; i < 3; i++) {if (arr[i][j] < min){min = arr[i][j];}}printf("第 %d 列的最小值是:%d\n", j + 1, min);}return 0;
}
3. 在行列相等数组计算主对角线元素的和。
#include <stdio.h>int main() {int arr[3][3] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};int sum = 0;for (int i = 0; i < 3; i++) {sum += arr[i][i];}printf("主对角线元素的和:%d\n", sum);return 0;
}
4. 计算一个矩阵下三角元素的和。
#include <stdio.h>int main() {int arr[3][3] = {{1, 2, 3},{4, 5, 6},{7, 8, 9}};int sum = 0;for (int i = 0; i < 3; i++) {for (int j = 0; j <= i; j++) {sum += arr[i][j];}}printf("下三角元素的和是:%d\n", sum);return 0;
}
5. 电影院为了答谢影迷的支持,在某一排的某一列座位上放置了一个大礼包,放置礼物的位置具有这样的规则(行和列的平方和为开店日期 512(5月12日)); 请设计程序找出大礼包的位置,(假定电影院有20排,每排25个座位)
#include <stdio.h>int main() {printf("大礼包的位置:\n");int found = 0;for (int row = 1; row < 21; row++) {for (int col = 1; col < 26; col++) {if (row * row + col * col == 512) {printf("第 %d 排,第 %d 列\n", row, col);found = 1;}}}if (!found) printf("未找到符合条件的座位\n");return 0;
}