|
发表于 2023-11-9 01:28:21
|
显示全部楼层
本楼为最佳答案
 以下是关于输入一个4×4的数组的C语言程序的实现:
(1)求出对角线上各元素的和:
- #include <stdio.h>
- int main() {
- int arr[4][4];
- int i, j, sum = 0;
- // 输入数组元素
- printf("请输入4×4的数组元素:\n");
- for (i = 0; i < 4; i++) {
- for (j = 0; j < 4; j++) {
- scanf("%d", &arr[ i][j]);
- }
- }
- // 求对角线上各元素的和
- for (i = 0; i < 4; i++) {
- sum += arr[ i][ i];
- }
- // 输出结果
- printf("对角线上各元素的和为:%d\n", sum);
- return 0;
- }
复制代码
(2)求出对角线上行、列下标均为偶数的各元素的积:
- #include <stdio.h>
- int main() {
- int arr[4][4];
- int i, j, product = 1;
- // 输入数组元素
- printf("请输入4×4的数组元素:\n");
- for (i = 0; i < 4; i++) {
- for (j = 0; j < 4; j++) {
- scanf("%d", &arr[ i][j]);
- }
- }
- // 求对角线上行、列下标均为偶数的各元素的积
- for (i = 0; i < 4; i += 2) {
- if (arr[ i][ i] % 2 == 0) {
- product *= arr[ i][ i];
- }
- }
- // 输出结果
- printf("对角线上行、列下标均为偶数的各元素的积为:%d\n", product);
- return 0;
- }
复制代码
(3)找出对角线上其值最大的元素和它在数组中的位置:
- #include <stdio.h>
- int main() {
- int arr[4][4];
- int i, j, max = arr[0][0], max_i = 0, max_j = 0;
- // 输入数组元素
- printf("请输入4×4的数组元素:\n");
- for (i = 0; i < 4; i++) {
- for (j = 0; j < 4; j++) {
- scanf("%d", &arr[ i][j]);
- if (arr[ i][j] > max) {
- max = arr[ i][j];
- max_i = i;
- max_j = j;
- }
- }
- }
- // 输出结果
- printf("对角线上其值最大的元素为:%d\n", max);
- printf("它在数组中的位置为:第%d行 第%d列\n", max_i + 1, max_j + 1);
- return 0;
- }
复制代码
这些程序分别实现了对角线上各元素的和、对角线上行、列下标均为偶数的各元素的积以及对角线上其值最大的元素和它在数组中的位置的求解。程序中通过嵌套循环来输入数组元素,并使用相应的算法来计算所需的结果。最后,通过printf函数输出结果。 |
|