• 第14、15教学周作业


    要求一

    要求二
    求矩阵的局部极大值

    #include<stdio.h>
    #define M 20
    #define N 20
    int main()
    {
    	int a,c,d,sum=0,f=0,s=0;
    	int i,j;
    	int b [M][N];
    		scanf("%d",&c);
    		scanf("%d",&d);
    		sum=0;
    		for(i=0;i<c;i++)
    		{
    			for(j=0;j<d;j++)
    			{
    			 scanf("%d",&b[i][j]);
    			}
    		}
    		for(i=1;i<c-1;i++)
    		{
    			for(j=1;j<d-1;j++)
    			{
    			if(b[i][j]>b[i+1][j]&&b[i][j]>b[i-1][j]&&b[i][j]>b[i][j+1]&&b[i][j]>b[i][j-1])
    			{
    				printf("%d %d %d
    ",b[i][j],i+1,j+1);
    				s++;
    			}	
    			}	
    		}
    		if(s==0)
    		{
    			printf("None %d %d",c,d);
    		}
    		
    }
    

    设计思路
    1.首先要输入数据,使用两个for语句输入。
    2.然后使用if语句判断是否满足上下左右都小于中心值。
    3.然后如果满足,就输出,并且让s+1。
    4.再判断s是否为0,为0就可以输出None。
    流程图

    遇到的问题以及解决方法

    一开始不会解决它会输出每个循环的结果这个问题,后来想到将寻找不到的那个情况从for语句中提出,独自判断。需要加入一个数字,来判断是否有局部极大值,如果有就+1,没有就为0,最后判断,就可以避免这种情况。

    后来运行无极大值这种情况也出现了问题,然后上网查询,知道再次判断的时候要用i=1,不能使用i=0,最后解决了问题。
    输出数组元素

    # include <stdio.h>
    int main()
    {
     int a[10];
     int i,n,b,d=1,m,c=0;
     scanf("%d",&n);
     for (i=0;i<n;i++)
      {
      scanf("%d",&a[i]);
       }
     for (i=2;i<n+1;i++)
     {
     	m=a[i-1]-a[i-2];
     	d++;
     
    		 if((d-1)%3==0&&d!=n)
    		 {
    		 	printf("%d
    ",m);
    		 }
    		 else if(d==n)
    		 {
    		 	printf("%d",m);
    		 }
    		 	else
    		 {
    		 	printf("%d ",m);
    		 }
    		 
    	 }
    
     }
    

    设计思路
    1.先输入需要输入数字的量。
    2.然后再将输入的数字进行后一个减前一个,重新排列。
    3.每三个用一个换行,最后输出结果。
    流程图

    遇到的问题以及解决方法
    这道题遇到的细节很多,就此做个总结:
    1.输入换行时要注意d的初始值为1时第一个数运行结束时d=2。
    2.所以到第三数结束已经为4,这时候需要(d-1)%3才能换行。
    3.d最好不要设成0,因为这样会使数字上面有个换行。
    4.平时的输出要输出为%d加空格,最后一项不要空格。

    (1)我的Git地址:https://git.coding.net/MikeJackYao/The-first.git

    (2)本周主要学习了数组,我觉得数组的难点是在与二维数组的多次循环上,以及for语句的使用,多次循环要考虑每次输出结果以及输出的次数,而且必须有转换思想,比如要判断这一堆数字中有没有你想要的,不能直接判断,应该设一个数字,为0,若有便+1,看最后这个数是否还是0来判断是否有你要找的数字,我认为还需要多理解二维数组,以及循环的奥义,才能学好这一章内容。

    于耀淞:http://www.cnblogs.com/jsjyys/p/7955576.html

    杨志群:http://www.cnblogs.com/12138-/p/7955161.html

    杨雨鑫:http://www.cnblogs.com/yangyuxin/p/7928352.html

  • 相关阅读:
    卷积池化函数
    keyring源码加密解密函数分析
    mysql语句批量产生大量测试数据
    InnoDB表存储结构及keyring加密
    cmake安装使用
    神经网络推导
    C#基础 集合
    C#基础 数组
    C#基础 类
    C#基础 for 穷举、迭代
  • 原文地址:https://www.cnblogs.com/yaoshunyux/p/7965918.html
Copyright © 2020-2023  润新知