0
已解决
黄昊轩
新手守护
新手守护
题目描述 Description
输入一个n*n阶方阵,分别求两条对角线上元素之和。(方阵为行数和列数相等的矩阵)
输入描述 Input Description
输入n+1行,第一行为一个数n(2=<n<=10),表示方阵的行数和列数,之后n行为这个方阵的元素。
输出描述 Output Description
输出两行,第一行为主对角线元素之和,第二行为副对角线元素之和。
样例输入 Sample Input
3
1 3 2
4 5 6
7 8 9
样例输出 Sample Output
15
14
数据范围及提示 Data Size & Hint
主对角线上的数即为1,5,9;副对角线上的数即为2,5,7。
求各位帮助
0
1
马佳滢
新手天翼
新手天翼
hello!
%100品质保证,
整型 a[10][10],n,m赋初始值0,j1赋初始值0;
输入n;
循环(整型i从1循环到n){
循环(整型j从1循环到n){
输入a[i][j];
如果(i等于j){
j1加等于a[i][j];
}如果(i加j等于n加1){
m加等于a[i][j];
}
}
}输出 j1 换行 m;返回值 0;
如果这个无法使你AC(做对),再等一会(半个小时吧),会有比较多的一些人来帮你解答。
0
0
邵逸儒
中级天翼
中级天翼
定义 a[101][101],n,s=0,d=0;
输入n;
循环(int i=0;i<n;i++)
{
循环(int j=0;j<n;j++)
输入a[i][j];
}
循环(int i=0;i<n;i++)
{
定义 j=i;
s+=a[i][j];
}
循环(int i=0,j=n-1;i<n,j>=0;i++,j--)
{
d+=a[i][j];
}
输出s<<endl<<d;
AC
0
0
栾峻岩
初级天翼
初级天翼
for (从1到n,i)
{
for (从1到n,j)
{
if (i==j)
sum+=s[i][j];
if ((i+j)==(n+1))
num+=s[i][j];
}
}
仔细研究一下方阵,即可发现这个道理。要用双重循环做哦!(数组是二维数组,定义大一点,输入也是双重循环,最后输出num和sum,别忘了num和sum之间要有空格哦!)
0
时梓繁
修练者
修练者
int a[101][101],n,s=0,d=0; cin>>n; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) cin>>a[i][j]; } for(int i=0;i<n;i++) { int j=i; s+=a[i][j]; } for(int i=0,j=n-1;i<n,j>=0;i++,j--) { d+=a[i][j]; } cout<<s<<endl<<d; return 0; }
0