飞羽


私信TA

用户名:cjun1998

访问量:15073

签 名:

coding

等  级
排  名 449
经  验 4804
参赛次数 6
文章发表 17
年  龄 0
在职情况 在职
学  校
专  业

  自我简介:

十八般武艺,样样不会

解题思路:

    设矩阵大小为n*n,n[ i , j ]在矩阵中的编号为k,编号方法是从上到下、从左到右,且初始编号为0,

例如:2*2的矩阵如下:

        1        2

        3        4
则元素1在矩阵中的编号为0,元素2为1,元素4为3

可以很容易得出下标与编号之间的关系(在草稿上多写几个例子,很快就能总结出来)

行标 i 的关系为:i=k/n;

列标 j 的关系为:j=k%n;


注意事项:

通过上面分析得出的 i , j 值是以0为起点的标法,而题目要求的是起点为1来确定下标的,也就是原本的n[ 0 , 0]这个元素应该说成第1行第1列的元素;

所以在程序中要记得i+1 , j+1来输出下标值

参考代码:

#include"stdio.h"
#include"math.h"
int main()
{
     int n,t,i,max=0;
     scanf("%d",&n);
     for(i=0;i<n*n;i++)
     {
      scanf("%d",&t);
      if(max<=abs(t))max=t;
     }
     i=i-1;  //for循环结束时 i多加了1,这里要减1
     printf("%d %d %d\n",max,i/n+1,i%n+1);
     return 0;
}

 

0.0分

0 人评分

  评论区

  • «
  • »