eg1.一个3行4列的二维数组,数组元素的值是其对应行号的平方与对应列号之和(行号和列号均从1开始)。输出该二维数组并求该数组的所有数组元素之和。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int array[3][4];
int num = 0;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
array[i][j] = { (i+1) * (i +1)+ j+1 };
printf(" %d", array[i][j]);
num++;
if (num % 4 == 0)
printf("\n");
}
}
system("pause");
return 0;
}
eg2.一个4行4列的二维数组,求该数组主对角线之和。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int array[4][4] = { {12 ,56, 78 ,96},{25, 63, 91, 36},{16, 53 ,88, 95},{77, 55, 33, 66} };
int i, j,sum=0;
printf("对角线上的元素为:\n");
for (i = 0; i < 4; i++)
{
for (j = 0; j < 4; j++)
{
if (i == j)
{
printf("%d\n", array[i][j]);
sum += array[i][j];
}
}
}
printf("对角线上的元素的和为:");
printf("%d\n",sum);
system("pause");
return 0;
}
eg3.
使用随机函数初始化一个4行5列的二维数组,求该二维数组中最小值以及该最小值第一次出现的位置。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i, j,num=0;
int array[4][5];
srand(time(NULL));
for (i = 0; i < 4; i++)//随机产生一个4*5的二维数组
{
for (j = 0; j < 5; j++)
{
array[i][j] = rand() % 100;
printf("%4d",array[i][j]);
num++;
}
if (num % 5 == 0)
{
printf("\n");
}
}
int min= array[0][0];
int r,c;
//找出二位数组里最小的数
for (i = 0; i < 4; i++)
{
for (j = 0; j < 5; j++)
{
if (min > array[i][j])
{
min = array[i][j];
r = i+1;
c = j+1;
}
//printf("min出现的位置在[%d][%d]\n", i, j);
}
}
printf("%d出现在%d行%d列\n",min,r,c);
system("pause");
return 0;
}