【C语言新手问题】我这个程序为什么结果不对

#include<stdio.h>voidmain(){inta[3][3],i,j,n=0,s=0,x,y,q=999,p=999;for(i=0;i<3;i++){f... #include<stdio.h>
void main()
{
int a[3][3],i,j,n=0,s=0,x,y,q=999,p=999;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);//输入9个整数
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
for(y=0;y<3;y++)
{
if(a[i][j]<=a[i][y] && j!=y)//先判断它是不是一行中最大的数
break;
n=y;//作为第一个条件满足的标志
}
if(n==y-1)//满足了第一个条件再判断下一个
for(x=0;x<3;x++)
{
if(a[i][j]>=a[x][j] && i!=x)//再判断他是不是一行中最小的数
break;
q=i+1;
p=j+1;
}
}
}
if(q==999 & p==999)
printf("-1");
else
printf("%d %d",q,p);
}
展开
 我来答
孤独一点红
2012-11-26
知道答主
回答量:12
采纳率:0%
帮助的人:12.2万
展开全部
你这个写的有点乱,你直接告诉我你要做什么。以上你的程序有很多问题:循环太多,我们尽量要结构化,不要多个循环然在一起,这是新手最需要注意的,我们一般都是双重循环,再多的话就是程序结构设计的有问题,你告诉我你要写一个什么程序,我会抽时间,按照你的思路给你改
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2012-11-27 · TA获得超过200个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:194万
展开全部
for(j=0; j<3; j++)
这层循环不应该出现吧
你应该先判断第i行最大的数是哪个,for(y)实现,然后是在最大的那一列遍历,通过for(x)实现,告诉我j是干啥的?
for(i)
for(0<y<3)

p=y;//找到最大的,记下列数

tmp = a[i][y];//记下临时存储的该行最大值

for(0<x<3,y)

a[x][y]....

q=x;//如果a[i][y](也就是tmp)最小,则记下行数,否则跳出循环

for(i)循环到末尾还没有找到就返回-1

呃,我没试哈,你试试,应该没错。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
胡萝卜地里的兔子
2012-11-26
知道答主
回答量:29
采纳率:0%
帮助的人:6.9万
展开全部
我是做系统任务的,不会你的啊。sorry。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式