解题思路:i,j->a[i][j]
n=3
对角线1:0,0+1,1+2,2
对角线2:0,2+1,1+2,0
总和=对角线1+对角线2-1,1;
n=4
对角线1:0,0+1,1+2,2+3,3
对角线2:0,3+1,2+2,1+3,0
总和=对角线1+对角线2;
n=5
对角线1:0,0+1,1+2,2+3,3+4,4
对角线2:0,4+1,3+2,2+3,1+4,0
总和=对角线1+对角线2-2,2;
得出
if(i==j){
sum+=(a[i][j]+a[i][n-1-i]);
}
注意事项:
当n为奇数需减去中心点数一次
参考代码:
int main(){
int n,i,j,sum=0,p,q;
scanf("%d",&n);
int a[n][n];
for(i=0;i<n;i++){
for(j=0;j<n;j++){
scanf("%d",&a[i][j]);
}
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(i==j){
sum+=(a[i][j]+a[i][n-1-i]);
printf("%d,%d\n",a[i][j],a[i][n-1-i]);
}
}
}
p=n%2;
q=n/2;
if(p!=0){
sum=sum-a[q][q];
}
printf("%d",sum);
}
0.0分
0 人评分
C语言训练-最大数问题 (C语言代码)浏览:648 |
C语言训练-求素数问题 (C语言代码)浏览:1509 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码)浏览:636 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:583 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:388 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:561 |
DNA (C语言代码)浏览:440 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:636 |
模拟计算器 (C语言代码)浏览:2366 |
剪刀石头布 (C语言代码)浏览:1519 |