一
7-2 求矩阵各行元素之和
1实验代码
#include<stdio.h>
int main()
#define m 10
#define n 10
{
int z,x;
int a[m][n];
scanf("%d %d
",&z,&x);
int j,i;
int sum=0;
for(i=0;i<z;i++)
{
for(j=0;j<x;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<z;i++)
{
sum=0;
for(j=0;j<x;j++)
{
sum+=a[i][j];
}
printf("%d
",sum);
}
return 0;
}
2 设计思路
(1)主要描述题目算法。
第一步:根据要求定义整数和数组。
第二步:利用内外循环来输入一个二维数组。
第三步:利用条件对每行数组相加后在输出。
(2)流程图
(3)本题调试过程碰到问题及解决办法
输出的时候忘记换行了。
7-3 方阵左下三角元素的和
#include <stdio.h>
#include<stdlib.h>
#define N 4
#define M 4
int main()
{
int a[M][N];
int i,j,k,l,sum=0;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
if(i>=j)
sum=a[i][j]+sum;
}
}
printf("%d",sum);
system("pause");
return 0;
}
2 设计思路
(1)主要描述题目算法。
第一步:先定义整数和一个数组。
第二步:根据矩形对角线条件,使sum相加。
第三步:最后根据格式输出sum。
(2)流程图
(3)本题调试过程碰到问题及解决办法
输入相加条件时把主对角线也加进去了,把i>=j改成i>j.
7-2 求矩阵的局部极大值
#include<stdio.h>
#define N 20
#define M 20
int main()
{
int a[M][N];
int b=0,n,m,i=0,j=0;
scanf("%d
%d",&m,&n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<m;i++)
{
if(i!=0&&i!=m-1)
{
for(j=0;j<n;j++)
{
if(a[i][j]>a[i+1][j]&&a[i][j]>a[i][j+1]&&a[i][j]>a[i-1][j]&&a[i][j]>a[i][j-1]&&j!=0&&j!=n-1)
{
printf("%d %d %d
",a[i][j],i+1,j+1);
b++;
}
}
}
}
if(b==0)
{
printf("None %d %d",m,n);
}
return 0;
}
2 设计思路
(1)主要描述题目算法。
第一步:定义数组和整数,输入数组。
第二步:根据是否大于周围四个数来进行输出。
第三步:用b来标记,如果没有输出题目要求的结果。
(2)流程图
(3)本题调试过程碰到问题及解决办法
开始的时候把边框算上了,加了个条件就解决了。
二
git地址:
https://git.coding.net/yangzhiqun/cfsafa.git
三
个人总结
(1)本周你学习了哪些内容?收获了什么?
我们本周学习了一维数组和二维数组,获得了更加广阔的思维方式,还有做题的时候尽量规范,避免以后不好纠正,把代码敲得整齐一下,容易改错。
(2)本周所学内容中你觉得哪些是难点?有哪些知识点还不明白?
数组的三角形N*N的矩阵的对应关系有点不好理解,那个选择排序法还是有点不熟悉,但只要多敲几遍还是能记住的,做题的时候题目输出的要求总是差一些东西,希望能通过做题来把代码敲得更加熟练。
四
1点评
杨雨鑫:http://www.cnblogs.com/yangyuxin/p/7928352.html
于耀淞 :http://www.cnblogs.com/jsjyys/p/7955576.html
张国庆 :http://www.cnblogs.com/zgq947/p/7966299.html
2折线图