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;
} 展开
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;
} 展开
展开全部
printf("请输入行数:\n");
scanf("%d",&N);
printf("请输入列数:\n");
scanf("%d",&N);------------->&M
scanf("%d",&N);
printf("请输入列数:\n");
scanf("%d",&N);------------->&M
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的输入的行数和列数怎么都是N啊?
顺便问一下,楼主是不是在linux下编写的程序?按理说标准C里面数组的下标应该不能在主函数里面定义吧?
顺便问一下,楼主是不是在linux下编写的程序?按理说标准C里面数组的下标应该不能在主函数里面定义吧?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
行和列怎么一样啦呀!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询