数组练习
1、 将二维数组(5行5列)的右上半部分置零
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
// 1、 将二维数组(5行5列)的右上半部分置零。
int main01()
{
int a[5][5] = { { 1, 2, 3, 4, 5 }, { 6, 7, 8, 9, 10 }, { 11, 12, 13, 14, 15 }, { 16, 17, 18, 19, 20 }, { 21, 22, 23, 24, 25 } };
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (i < j)
{
printf("%3d", 0);
}
else
{
printf("%3d", a[i][j]);
}
}
printf("\n");
}
system("pause");
return EXIT_SUCCESS;
}
2.求数组对角线和
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main02()
{
int a[3][3] = { { 10, 13, 21 }, { 14, 15, 16 }, { 17, 22, 23 } };
int sum=0;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
if (i = j)
{
sum += a[i][j];
}
}
}
printf("%d", sum);
system("pause");
return EXIT_SUCCESS;
}
3.求数组最大元素及行号
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main03()
{
int a[3][3] = { 0 };
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
scanf("%d", &a[i][j]);
}
}
int max = 0;
int x, y;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
if (max < a[i][j])
{
max = a[i][j];
x = i;
y = j;
}
}
}
printf("a[%d][%d]=%d", x, y, max);
system("pause");
return EXIT_SUCCESS;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int a[3][3] = { { 11, 22, 33 }, { 12, 1, 11 }, {44,22,41} };
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
printf("%3d", a[i][j]);
}
printf("\n");
}
int len;
printf("输入行数\n");
scanf("%d", &len);
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
if (i == len )
{
printf("%3d", a[i][j]);
}
}
}
system("pause");
return EXIT_SUCCESS;
}