从键盘上为一个5*5的整型数组输入数据,并找出主对角线上元素的最大值及其所在的行号

全部回答4
默认 最新
  • 思路:键盘输入3*3的二维数组a,接着假设a[0][0]就是最大值,再把a[0][0]与a[1][1]和a[2][2]比较最后输出最大值和最大值行号。参考代码:#include#define n 3int main() {  int a[n][n],i,j,max,maxi;  for(i=0;i  for(j=0;j  scanf("%d",&a[i][j]);   max=a[0][0];  maxi=0; for(i=1;i if(maxmax=a[i][i]; maxi=i; } printf("最大值为%d,最大值行号为%d.\n",max,maxi); return 0; } /* 1 2 3 4 6 5 7 9 2 最大值为6,最大值行号为1. */
    0 点赞
  • #include <stdio.h>void main(){int i, j, a[5][5], max,h;for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);max=a[0][0];for(i=1;i<5;i++)for(j=0;j<5;j++)if ((i==j)&&(max < a[i][j])){max=a[i][j];h=i;}printf("max=%d,HangHao=%d",max,h); } 书写粗劣要自己学会整理,思路学习一下就行.
    0 点赞
  • 用神马语言啊?!Java?C?C++?C#? or something else?要代码还是要算法思想???
    0 点赞
  • #include <stdio.h>void main(){int num[5][5];int i,j;printf(“请输入一组5 * 5的数列:\n”);for(i=0;i<5;i++)//输出5 * 5的数组for(j=0;j<5;j++)scanf("%d",&num[i][j]);int max=num[0][0];for(i=0;i<5;i++)//求出主对角线最大的值for(j=0;j<5;j++)if(i==j&&num[i][j]>max)max=num[i][j];printf(“主对角线上最大的值为:%d\n”,max);for(i=0;i<5;i++)//求出主对角线最大的值的位置for(j=0;j<5;j++)if(i==j)if(num[i][j]==max){printf(“其位置为%d行,%d列\n”,i+1,j+1);break;}}程序的实现顺序是:输入数据,找出主对角线最大值,找出最大值所在的行号和列号。主对角线:在一个n阶方阵(或n阶行列式)中,从左上角到右下角这一斜线上的n个元素的位置,叫做n 阶方阵(或n阶行列式)的主对角线。扩展资料:scanf("输入控制符", 输入参数);功能:将从键盘输入的字符转化为“输入控制符”所规定格式的数据,然后存入以输入参数的值为地址的变量中。举例:scanf("%d", &i);  输入控制符:操作系统在接收键盘数据时都将它当成字符来接收的。这时需要用“输入控制符”将它转化一下。%d的含义就是要将从键盘输入的这些合法的字符转化成一个十进制数字。比如,输入123,经过 %d 转化完之后,字符123就是数字123了。&是一个取地址运算符,&后面加变量名表示“该变量的地址”,所以&i就表示变量 i 的地址。&i又称为“取地址i”,就相当于将数据存入以变量 i 的地址为地址的变量中。
    0 点赞

没有更多内容了

返回顶部
产品求购 求购