第14、15周作业


7-2 求矩阵各行元素之和
1实验代码

#include<stdio.h>
int main()
#define m 10 
#define n 10 
{
  int z,x;
  int a[m][n];
  scanf("%d %d\n",&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\n",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\n %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\n",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折线图

posted @ 2017-12-02 18:51  杨志群  阅读(258)  评论(6编辑  收藏  举报