我来试一下,
追问谢谢啦
追答dengwo@dengwo-ThinkPad-Edge-E530:~/bowl/shangdongoj$ cat erda.c
#include<stdio.h>
#define U 3
int main(void)
{
int oblong[U][U] = {0};
struct answer
{
int price;
int x;
int y;
} answer_print;
int i, j;
for(i=0;i<U;i++)
{
for(j=0;j<U;j++)
{
scanf("%d", &oblong[i][j]);
/*输入9个数字每个数字空格分开,
如下: 1 2 3 4 5 6 9 8 7 回车.
*/
}
}
answer_print.price = oblong[0][0];
for(i=0;i<U;i++)
{
for(j=0;j<U;j++)
{
if(oblong[i][j]>answer_print.price)
{
answer_print.price = oblong[i][j];
answer_print.x = i;
answer_print.y = j;
}
}
}
printf("最大是:%d\t坐标是:[%d][%d]\n", answer_print.price, answer_print.x, answer_print.y);
return 0;
}
dengwo@dengwo-ThinkPad-Edge-E530:~/bowl/shangdongoj$
追问为什么我这边的坐标显示不正确啊....
![](https://video.ask-data.xyz/img.php?b=https://iknow-pic.cdn.bcebos.com/fcfaaf51f3deb48fd8e7ad1df51f3a292cf57862?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto)
追答因为数组的坐标都是从下标 0 开始的, 这应该属于语法吧.
要是不习惯,可以加1操作.如下地方
;
for(j=0;j<U;j++)
{
if(oblong[i][j]>answer_print.price)
{
answer_print.price = oblong[i][j];
answer_print.x = i;//1
answer_print.y = j;//2
}
/*把语句1,2,改为如下*/
if(oblong[i][j]>answer_print.price)
{
answer_print.price = oblong[i][j];
answer_print.x = i+1
answer_print.y = j+1;
}本回答被提问者采纳