问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

【c语言编程】矩阵求最大值或最小值并返回它所在的行号与列号

发布网友 发布时间:2024-03-31 02:54

我来回答

2个回答

热心网友 时间:2024-08-29 13:39

#include<stdio.h>
void main()
{
   int i,j,minv,mini,minj,sum=0;
   int a[4][4];
   printf("请输入矩阵中的16个数:\n");
   for(i=0;i<4;i++)
      for(j=0;j<4;j++)
          scanf("%d",&a[i][j]);
   minv=a[0][0];
   for(i=0;i<4;i++)
      for(j=0;j<4;j++)
         {
             if(a[i][j]<minv)
             {
                 minv=a[i][j];
                 mini=i+1;
                 minj=j+1;
             }
             if(i==j)
                 sum+=a[i][j];
         }
     printf("矩阵中最小值为%d,它在第%d行,%d列!\n",minv,mini,minj);
     printf("矩阵中对角线元素之和为%d",sum);
}

你需要动态的可以这样写:

#include<stdio.h>
#include<stdlib.h>
void main()
{
   int i,j,minv,mini=1,minj=1,sum=0,h,l;
   printf("请输入矩阵的大小:");
   scanf("%d%d",&h,&l);
   int **a=(int **)malloc(sizeof(int*)*h);
   for(i=0;i<l;i++)
   a[i] = (int *)malloc(sizeof(int)*l);
   printf("请输入矩阵中的%d个数:\n",h*l);
   for(i=0;i<h;i++)
      for(j=0;j<l;j++)
          scanf("%d",&a[i][j]);
   minv=a[0][0];
   for(i=0;i<h;i++)
      for(j=0;j<l;j++)
         {
             if(a[i][j]<minv)
             {
                 minv=a[i][j];
                 mini=i+1;
                 minj=j+1;
             }
         }
     printf("矩阵中最小值为%d,它在第%d行,%d列!\n",minv,mini,minj);
   minv=a[0][0];
   for(i=0;i<h;i++)
      for(j=0;j<l;j++)
         {
             if(a[i][j]>minv)
             {
                 minv=a[i][j];
                 mini=i+1;
                 minj=j+1;
             }
         }
     printf("矩阵中最大值为%d,它在第%d行,%d列!\n",minv,mini,minj);
}

热心网友 时间:2024-08-29 13:40

#include<stdio.h>
void main()
{
int a[3][4]; //定义该数组
for (int i = 0;i < 3;i++) //输入数组
for (int j = 0;j < 4;j++)
{
scanf("%d",&a[i][j]);
};
int max,min;  //定义最大值和最小值
max = a[0][0] > a[0][1] ? a[0][0] : a[0][1]; //让最大值初始为a[0][0]和a[0][1]中的较大数
min = a[0][0] + a[0][1] - max;  //同上,为较小数
for (int x = 0;x < 3;x++)  //寻找最大值
for (int y = 2;y < 4;y++)
{
max = max > a[x][y] ? max : a[x][y];  //如果大于max则赋值给max
};
for (int x1 = 0;x1 < 3;x1++) //同上
for (int y1 = 2;y1 < 4;y1++)
{
min = min < a[x1][y1] ? min : a[x1][y1];
}
printf("max = %d\n",max);
printf("min = %d",min);
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
国家对腾讯已经作出解除音乐版权处罚,为什么网易云还是很 市场监管总局依法对腾讯控股有限公司作出责令解除网络音乐 腾讯放弃音乐独家版权,绝大部分独家协议已按期解约 高级BEC和中级口译哪个难? 三级口译是什么样的水平 高级日语口译大概是什么水平 高级口译常用谚语 品牌型号怎么填写 送刀剑是什么风水 送礼送菜刀是什么意思 场灯调光注册商标属于哪一类? 场致驱动器注册商标属于哪一类? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... ...当兵之前要进行体检,体检都有哪些项目啊,具体要写的详细点~还有是不... 当兵体检项目有哪些男 有测量室内甲醛的手机APP吗? 新中国成立后,党和政府维护人权做出哪些努力 ...一支线怎么做 古乐传承人一奖励及完成全流程一览 潜水镜的硅胶带变黄了怎么办 手机号1 24 手机号24小时内绑定了两个被限制 请问什么时候才能重 ... 节日的古诗有哪些 周柯宇为什么没有上跨年晚会 有关节日的古诗有关节日的古诗有哪些 公司为职工买的大病统筹和人身意外险能否税前列支 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 梦见家人卫生巾上面有血 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 家庭和睦的名人名言名言名句 牛体温正常,不吃草咋回事 ...abnormal program termination时该怎么解决呢 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 您的手机号在最近24小时内绑定过三个,已达到限制,...24小时后... 潜水面镜上的黑点怎么去掉 第三针没打阳了会死的概率是多少 打新冠疫苗羊的多还是没打疫苗羊的多 石灰吟粉身碎骨还是粉骨碎身 石灰吟中是粉身碎骨还是粉骨碎身 17岁(高二)可以当兵或者参军么?请问两者有什么区别么 17岁的高二生可以去当兵么? 我今年17岁了,我家人叫我去当兵,但我还在读高二,不知道可不可以去 今年17岁,高中在校生可以当兵吗 张惠妹火歌词含义 订狗gi,ding四声gou二声gei一声(台语)是什么意思,大概是这个发音_百 ... 手机号1 24 手机号24小时内绑定了两个被限制 请问什么时候才能重 ... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 您的手机号在最近24小时内绑定过三个,已达到限制,...24小时后... 10进制转 16 进制怎么计算? ...号在最近24小时内绑定过三个,已达到限制,...24小时后可以再次... 感谢婆婆的话语? 我字的音节是第几声调9 亚诺曼王国,苏国,艾尔巴尼亚国...这三个国怎么去?告诉下