1、首先,定义3个整型变量,保存控制数组元素的变量,以及左侧对角线元素的和、右侧对角线元素的和。
2、接着,给数组赋初值,即输入一个5*5方阵。
3、设置suml和sumr的初值为0。
4、用for循环控制读入方阵对角线上的各元素,实现对角线上各元素的和。
5、计算左侧对角线和右侧对角线上各元素的和,用累加的方式实现运算。
6、最后,分别输出方阵左侧对角线和右侧对角线上各元素的和。
7、运行程序,计算机就会运算出方阵左、右对角线上各元素的和。
#include
int main()
{
int x[5][5];
int i, j, sum1, sum2;
printf("请依次输入5*5数组的25个元素:\n");
for (i=0; i<5; i++)
{
for (j=0; j<5; j++)
{
scanf("%d", &x[i][j]);
}
}
sum1 = sum2 = 0;
for (i=0; i<5; i++)
{
sum1 += x[i][i];
sum2 += x[i][4-i];
}
printf("主对角线之和: %d, 辅对角线之和: %d\n", sum1, sum2);
return 0;
}
调试通过,楼主参考。
祝你好运!
以下是一个C语言程序,可以实现输入一个5×5的数组,分别求其主对角线和辅对角线上元素之和:
c#include
int main() {
int matrix[5][5];
int main_diagonal_sum = 0, secondary_diagonal_sum = 0;
printf("请输入一个5×5的数组:\n");
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 求主对角线上元素之和
for (int i = 0; i < 5; i++) {
main_diagonal_sum += matrix[i][i];
}
// 求辅对角线上元素之和
for (int i = 0; i < 5; i++) {
secondary_diagonal_sum += matrix[i][4-i];
}
printf("主对角线上元素之和为:%d\n", main_diagonal_sum);
printf("辅对角线上元素之和为:%d\n", secondary_diagonal_sum);
return 0;
}
程序首先定义了一个5×5的数组matrix,以及两个变量main_diagonal_sum和secondary_diagonal_sum,分别用于存储主对角线和辅对角线上元素之和。程序通过两层循环输入数组元素。接着,程序通过两层循环分别求出主对角线和辅对角线上元素之和,并输出结果。
#include
#define N 5
void main() { int a[N][N],i,j,s0,s1;
for ( i=0;is0=s1=0; for ( i=0;i printf("主对角线元素和%d,辅助对角线元素和%d。\n",s0,s1);
}