注意事项:定义数组时下标不能为未知的变量:第一遍写的代码将a[n][n]定义在对n取值之前,答案出现问题。因为在定义数组时下标不能为未知的变量,因为在本题中是在全局定义中定义了数组,而编译器在编译时会提前在主存中为数组分配空间,但是因为分配空间数量不确定,导致出错。

参考代码:

#include<stdio.h>
#include<math.h>
void main(void)
{
    int n,y,p,q,i,j;
    scanf("%d",&n);
    int a[n][n];
    if(n < 1 || n > 6)
        printf("error");
    else
    {
        for(i = 0; i < n; i++)
            for(j = 0; j < n; j++)
                scanf("%d",&a[i][j]);      
    }
    y = a[0][0];   
    for(i = 0; i < n; i++)
           for(j = 0; j < n; j++)
           {
               if(pow(a[i][j],2) > pow(y,2))
               {
                   y = a[i][j];
                   p = i;
                   q = j;
               }
           }
    printf("%d %d %d",y,p + 1,q + 1);       
    
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论