解题思路:
先输入他的n*n的矩阵,所有可以直接for加一个空的列表来组成一个二维列表。
从左上角到右下角的对角线比较好做一些直接嵌套一个for循环然后判断一下这个二维数组的下标是否相等。
注意事项:
重点在于第三个很多人都有错误,不能光看那个样例,他可能会有偶数和奇数的所以要判断一下,偶数的话直接一次一次加就行了,奇数才是出错的那个地方因为偶数的话对角线没有重叠的地方,而奇数有所以要减掉一便对角线重复的那个数。
还有一个就是输入一个数的时候要单独加个判断。
参考代码:
n = int(input())
lis = []
for i in range(n):
a = list(map(int,input().split()))
lis.append(a)
sum = 0
for i in range(len(lis)):
for j in range(len(lis[i])):
if i == j:
sum += lis[i][j]
sun = 0
s = 0
if n % 2 != 0:
s1 = (int(pow(n,0.5)))
for i in range(n-1,-1,-1):
if s != s1:
sun += lis[i][s]
s += 1
else:
for i in range(n-1,-1,-1):
sun += lis[i][s]
s += 1
if n == 1:
print(lis[0][0])
else:
print(sum+sun)
0.0分
4 人评分
C语言训练-求PI* (C语言代码)浏览:911 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:1483 |
川哥的吩咐 (C语言代码)浏览:899 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1054 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:997 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:541 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:595 |
Wu-求圆的面积 (C++代码)浏览:1915 |
蛇行矩阵 (C语言代码)浏览:541 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:552 |