解题思路:
使用while进行推移完成举证对角线相加,但是注意,如果矩形的长度为奇数的时候需要再减去一个位置再中间的数。
参考代码:
#include<bits/stdc++.h> using namespace std; int main() { int n,a[100][100]; int l=0,f=0,sum=0; cin>>n; for(int i=0; i<n; i++) for(int j=0; j<n; j++) cin>>a[i][j]; if(n%2==0) { while(l<n&&f<n) { sum+=a[l][f]; l++; f++; } l=n-1; f=0; while(l>=0&&f<n) { sum+=a[l][f]; l--; f++; } } else { while(l<n&&f<n) { sum+=a[l][f]; l++; f++; } l=n-1; f=0; while(l>=0&&f<n) { sum+=a[l][f]; l--; f++; } sum-=a[n/2][n/2]; } cout<<sum<<endl; return 0; }
0.0分
0 人评分
陶陶摘苹果 (C语言代码)浏览:1607 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:646 |
【蟠桃记】 (C语言代码)浏览:651 |
WU-蓝桥杯算法提高VIP-交换Easy (C++代码)浏览:1119 |
WU-链表数据求和操作 (C++代码)浏览:1317 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:863 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:916 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1921 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1479 |
震宇大神的杀毒软件 (C语言代码)浏览:1080 |