注意事项:定义数组时下标不能为未知的变量:第一遍写的代码将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 人评分
宏定义(C语言代码)浏览:607 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:414 |
C二级辅导-温度转换 (C语言代码)浏览:492 |
【明明的随机数】 (C语言代码)浏览:674 |
小九九 (C语言代码)浏览:825 |
C二级辅导-计负均正 (C语言代码)浏览:598 |
数列 (C++代码)浏览:664 |
2005年春浙江省计算机等级考试二级C 编程题(3),复杂度最低的方法没有之一!!!!!浏览:819 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:609 |
回文数(一) (C语言代码)浏览:753 |