C语言:编写函数,找出5*5数组主对角线上元素的最小值,并在主函数中调用它。

C语言:编写函数,找出5*5数组主对角线上元素的最小值,并在主函数中调用它。 要求数组元素的值通过键盘输入

#include<stdio.h>
int func(int p[5][5])
{
int i,j,min;
for(i=0;i<5;i++)
{for(j=0;j<5;j++)
min=p[0][0];
while(i==j)
{
if(p[i][j]>min) min=p[i][j];
}
}
return min;
}
void main()
{
int i,j,m,a[5][5];
printf("请输入a[5][5]:\n");
for(i=0;i<5;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
printf("a[5][5]:\n");
for(i=0;i<5;i++)
{for(j=0;j<5;j++)
{printf("%4d",a[i][j]);
}
printf("\n");
}
m=func(a);
printf("主对角线上元素的最小值为:%d",m);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-12-01
int nMin=a[0][0];
for(int i=1;i<5;i++)
{ if(a[i][i]<nMin) nMin=a[i][i];
}
cout<<nMin;

编写程序,要求主函数初始化一个矩阵 (5×5),并分别调用各函数实现求
int a[5][5],c[5][5],d[5][5]; \/\/矩阵a、c、d定义为全局变量 void zc(int b[][5],int n); \/\/对角线函数声明语句 void zc1(int b[][5],int n); \/\/转置函数声明语句 void main(){ int i,j;srand(time(NULL)); \/\/产生一个时间 for(i=0;i<5;i++)for(j=0...

用c运用数组编程,找出5x5矩阵每行绝对值最大的元素,并与同行对角线元素...
也就是说,将5x5二维数组每行绝对值最大的元素放到主对角线上。include <stdio.h>#include <math.h>void Show(int a[][5],int n) {int i,j;for(i = 0; i < n; ++i) {for(j = 0; j < 5;++j)printf("%5d",a[i][j]);printf("\\n");}}int main() {int a[5][5]...

从一个5*5的二维数组中找最大值、最小值、平均值并输出
printf("数组的最大值,最小值,平均值分别是:%d,%d,%d\\n",max,min,average\/25);} 输出结果:数组的最大值,最小值,平均值分别是:25,1,13 Press any key to continue

编写一个C语言程序,计算5×5的矩阵的主对角线之和与次对角线之和并
if (matrix[i][j]>max) \/*求最大值*\/max = matrix[i][j];if (matrix[i][j]<min) \/*求最小值*\/min = matrix[i][j];}}printf ("主对角线之和:\\t%d\\n", mainDiagonalSum);printf ("次对角线之和:\\t%d\\n", diagonalSum);printf ("最大值:\\t%d\\n", max);printf ("...

c语言 输入一个5×5的数组,分别求其主对角线和辅对角线上元素之和
1、首先,定义3个整型变量,保存控制数组元素的变量,以及左侧对角线元素的和、右侧对角线元素的和。2、接着,给数组赋初值,即输入一个5*5方阵。3、设置suml和sumr的初值为0。4、用for循环控制读入方阵对角线上的各元素,实现对角线上各元素的和。5、计算左侧对角线和右侧对角线上各元素的和,用...

C语言中如何编写一个字符串复制函数,并在主函数中调用它。
具体实现方法可以参考如下程序:include<stdio.h>void str_copy(char *str1, char *str2) \/\/ 字符串复制函数{ while(*str1++ = *str2++); \/\/ 将字符串str2中的每个字符逐个复制到str1中,直到遇到字符串结束字符'\\0'}void main(){ char s1[] = "abcd"; char s2[5]; ...

1. 对一个5*5矩阵,要求将主对角线元素和副对角线元素赋值0,其余元素赋值...
完整程序:include<stdio.h> main(){ int i,j,matrix[5][5];for(i = 0; i<5; i++)\/\/主对角线元素和副对角线元素赋值0 { matrix[i][i] = 0;matrix[i][4-i] = 0;} for(i=0;i<5;i++)for(j=0;j<5;j++){if(matrix[i][j]!=0)\/\/不等于0的其他置于1 matrix[i][...

C语言:5x5的二维数组,主、次对角线元素赋值1,其余元素赋值0,输出到...
代码文本:include "stdio.h"define N 5 int main(int argc,char *argv[]){ int a[N][N],i,j;puts("The results are as follows:");for(i=0;i<N;i++){ for(j=0;j<N;j++)printf("%2d",a[i][j] = i==j || i+j==N-1);putchar('\\n');} return 0;} ...

c语言 将一个5X5的矩阵中最大的元素放在中心,4个角分别放4个最小的...
这是假设次小的为第2个元素(下标为0,1),因为经过前边的过程,第1个元素(下标为0,0的元素)已经放置了紧了整个数组中的最小值,故找次小、第三小、第四小的应该从第2个元素找起,若没有这一句,以后找到的次小、第三小、第四小将会被误找成第1个元素。

编写一个c语言程序,输入5个数,求它们中最大值和最小值并输出
void main( ){ int i = 0 , num[5], max = 0 , min = 0 ; \/* max:用于存放最大值;min:用于存放最小值 *\/ for( i = 0 ; i < 5 ; i ++ )scanf("%d", &num[i]) ; \/* 循环地将输入的五个数存入 num[5] 数组中 *\/ for( i = 0 ; i < 5 ; i ++ ) \/* ...

相似回答