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

如题所述

#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 的地址为地址的变量中。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-25
#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);
}
书写粗劣要自己学会整理,思路学习一下就行.本回答被提问者和网友采纳
第2个回答  2011-04-25
用神马语言啊?!Java?C?C++?C#? or something else?
要代码还是要算法思想???追问

C语言

相似回答