原题链接:C语言训练-求矩阵的两对角线上的元素之和
解题思路:
第一个不用数组
不定长二维数组
注意事项:
参考代码:
#includeint main() { int n,i,j,num,sum=0; scanf("%d",&n); for(i=1;i<=n;i++) for(j=1;j<=n;j++){ scanf("%d",&num); if(i==j||i+j==n+1) sum+=num; } printf("%d",sum); return 0; }
#include<stdio.h> #include<stdlib.h> int main() { int n,i,j,sum=0; scanf("%d",&n); int **num; //创建二级指针 num=(int**)calloc(n,sizeof(int*)); //动态定义一级指针变量长度 for(i=0;i<n;i++) num[i]=(int *)calloc(n,sizeof(int)); //遍历,动态定义二级指针变量长度 for(i=0;i<n;i++) for(j=0;j<n;j++){ scanf("%d",&num[i][j]); if(i==j||i+j==n-1) sum+=num[i][j]; } printf("%d",sum); for(i=0;i<n;i++) free(num[i]); //遍历释放二级指针内存 free(num); //释放一级指针内存 return 0; }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复