帮填下大1C语言程序

来源:百度知道 编辑:UC知道 时间:2024/06/05 15:16:19
程序填空,不要改变与输入输出有关的语句。
输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
读入 1 个正整数 n(1≤n≤6), 再读入 n 阶方阵 a , 计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。
输入输出示例:括号内为说明
输入:
1 (repeat=1)
4 (n=4)
2 3 4 1
5 6 1 1
7 1 8 1
1 1 1 1
sum = 35 (2+3+4+5+6+7+8=35)

#include "stdio.h"
int main(void)
{
int i, j, n, sum;
int repeat, ri;
int a[6][6];

scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d", &n);
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
scanf("%d", &a[i][j]);
/*---------*/
printf("sum = %d\n", sum);
}
}

for(i = 0; i < n-1; i++)
for(j = 0; j < n-1; j++)
{
if(i==j) continue;
sum+=a[i][j] ;
}

先说下,我手机给你回复,比较繁琐…你程序用的全是键盘输入,你测试起来也繁琐…前面#include<stdio.h>…这要用尖括号…下来给你写的是副对角线的和…sum=0;for(i=0,i<n,i++)for(j=0,j<n,j++){if(i+j==n-1){sum+=a[i][j];}};上面是副对角线的求和循环,前面先让sum=0,才能让他自加…后面写的是除最后一行和最后一列的和,与副对角线和的总和…for(i=0;i<n-1;i++)for(j=0;j<n-1;j++){sum+=a[i][j];}上面写的很完整…由于手机写没有换行…请谅解…