C语言程序没有错误但输入数据后程序就停止了为什么

#include<stdio.h>intmain(){intN,M;printf("请输入行数:\n");scanf("%d",&N);printf("请输入列数:\n"... #include<stdio.h>
int main()
{
int N,M;
printf("请输入行数:\n");
scanf("%d",&N);
printf("请输入列数:\n");
scanf("%d",&N);
int a[N][M],i,j,max[N],min[M],k=0;
for(i=0;i<N;i++)
{for(j=0;j<M;j++)
{
printf("a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);
}
}
/*输入二维数组*/
for(i=0;i<N;i++)max[i]=a[i][0];//这句是先把每行第一个数当做最大值
for(j=0;j<M;j++)min[j]=a[0][j];//这句是先把每列第一个数当做最小值
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{
if(a[i][j]>max[i])max[i]=a[i][j];
if(a[i][j]<min[j])min[j]=a[i][j];
}//这两句用于比对,最终找出每行的最大值和每列的最小值
}
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
{ //如果最大值和最小值是同一个数,就说明找到鞍点
if(max[i]==min[j])
{printf("第%d行 第%d列是鞍点\n",i+1,j+1);
printf("鞍点是:%d",a[i][j]);
k++;}
}
}
if(k==0) //若k等于0,说明该数组没有鞍点
printf("none");
return 0;
}
展开
 我来答
644362964
2012-04-23
知道答主
回答量:29
采纳率:0%
帮助的人:27.1万
展开全部
printf("请输入列数:\n");
scanf("%d",&N);
这里错了吧,改为:
printf("请输入列数:\n");
scanf("%d",&M);
我依然正经
2012-04-23 · 超过14用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:34.3万
展开全部
printf("请输入行数:\n");
scanf("%d",&N);
printf("请输入列数:\n");
scanf("%d",&N);------------->&M
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
肯勇偃袒褂b6
2012-04-23
知道答主
回答量:45
采纳率:0%
帮助的人:22.8万
展开全部
你的输入的行数和列数怎么都是N啊?
顺便问一下,楼主是不是在linux下编写的程序?按理说标准C里面数组的下标应该不能在主函数里面定义吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑暗圣骑士11
2012-04-23 · 贡献了超过101个回答
知道答主
回答量:101
采纳率:0%
帮助的人:37万
展开全部
行和列怎么一样啦呀!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式