c - 打印对角线元素之和的差(左 - 右和右 - 左)
问题描述
任务:应打印对角线元素(左 - 右和右 - 左)之和的差异
#include<stdio.h>
int main()
{
int n,r,c,i,j;
scanf("%d",&n);
int ar[r][c],sumd1=0,sumd2=0;
for( i=0; i<r; i++)
{
for(j=0; j<c ; j++)
{
scanf("%d",&ar[i][j]);
}
}
for( i=0; i<r; i++)
{
for(j=0; j<c ; j++)
{
if(i == j)
sumd1 = sumd1+ar[i][j];
if(i == c-j-1)
sumd2 = sumd2 + ar[i][j];
}
}
printf("%d",abs(sumd1 - sumd2));
}
样本输入
3
11 2 4
4 5 6
10 8 -12
样本输出
15
对于样本输入,我的结果是 0。
解决方案
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
int main()
{
int n, j;
int i=0,RightDiagonalSum=0,LeftDiagonalSum=0, firstarray, secondarray;
scanf("%d",&n);
int a[n][n];
for(int firstarray = 0; firstarray < n; firstarray++)
{
for(int secondarray = 0; secondarray < n; secondarray++)
{
scanf("%d",&a[firstarray][secondarray]);
}
}
while(i<n)
{
RightDiagonalSum=RightDiagonalSum+a[i][i];
i++;
}
j=n-1,i=0;
while(i<n)
{
LeftDiagonalSum=LeftDiagonalSum+a[i][j];
i++;
j--;
}
printf("%d",abs(RightDiagonalSum-LeftDiagonalSum));
return 0;
}
推荐阅读
- django - 使用 django 将数据插入数据库时如何发送 whatsapp 消息
- pandas - 如何将 Pandas 日期时间列从没有夏令时调整的 EST 转换为有夏令时调整的 CET
- c++ - How to protect MSI against modification
- android - 无法使用查找键获取所有联系人
- sql-server - SQL Server 2012 / 2018 - Invalid object name
- wordpress - 如何在自定义小部件中使用联系表格 7 的简码?
- shell - sed 中的空“s///”语句 - 它究竟做了什么?
- swift - Sending Firebase Push Notifications to Logged-in Users Only
- javascript - Twittch API 的 Chrome 扩展程序给我一个关于内容安全策略的错误
- angular - Angular CLI 8 中的 --rebaseRootRelativeCssUrls 选项是否有替代方案?