c语言程序,求鞍点

#include<stdio.h>intmain(){intiArray[3][5]={0};//定义数组inti,j,k;intiTemp,iPos1,iPos2;pr... #include<stdio.h>
int main()
{
int iArray[3][5]={0};//定义数组
int i,j,k;
int iTemp,iPos1,iPos2;
printf("请输入数组元素:\n");
for(i=0;i<3;i++)
{
for(j=0;j<5;j++)
{
scanf("%d",&iArray[i][j]);
}
}
for(i=0;i<3;i++)
{
iTemp=iArray[i][0];
iPos1=i;
iPos2=0;
for(j=0;j<5;j++)
{
if(iTemp<=iArray[i][j])
{
iTemp=iArray[i][j];
iPos1=i;
iPos2=j;
}
}printf("第%d行元素中最大的是:%d",i+1,iTemp);//一直到这里,求出每一行最大的元素
if(iTemp>=iArray[0][j]&&iTemp>=iArray[1][j]&&iTemp>=iArray[2][j])
{
printf("这是一个鞍点!");
printf("这个鞍点的位置为及其值为:iArray[&d][&d]=&d",iPos1,iPos2,iTemp);
}//问题应该出在if这个语句中,不知道怎么修改啊!!!
}
return 0;
}
展开
 我来答
yefeidd
2012-12-03 · 超过12用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:27.8万
展开全部
看了下你的代码,我给你改正了。你的错误是忘掉了"J" 每次运算后要加1的,另外你的算法还是有一些小错误。假如你每一行的数有两个是相等的且也是最大的怎么办??
#include<stdio.h>
int main()
{
int iArray[3][5]={0};//定义数组
int i,j;
int iTemp,iPos1,iPos2;
printf("请输入数组元素:\n");
for(i=0;i<3;i++)
for(j=0;j<5;j++)
scanf("%d",&iArray[i][j]);
for(i=0;i<3;i++)
{
iTemp = iArray[i][0];
iPos1 = i;
iPos2 = 0;
for(j = 0;j < 5; j++)
if(iTemp<=iArray[i][j])
{
iTemp = iArray[i][j];
iPos1 = i;i Pos2 = j;
}
printf("第%d行元素中最大的是:%d",i+1,iTemp);
if(iTemp >= iArray[0][j-1]&&iTemp >= iArray[1][j-1]&&iTemp >= iArray[2][j-1])
{
printf("这是一个鞍点!");
printf("这个鞍点的位置为及其值为:iArray[%d][%d]=%d",iPos1,iPos2,iTemp);
}
printf("\n");
}
return 0;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
revcode
2012-12-03
知道答主
回答量:5
采纳率:0%
帮助的人:7559
展开全部
自己调试比较好点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式