提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、求数组中的最大值
解题思路大概就是先定义数组,当然有些数组需要另外输入,我们可以自己用循环输入。看思路,大致是比较大小,当有另一个值较大的时候,把值赋值给max
#include <stdio.h>
int main ()
{
int a[10] = {0,3,4,89,8,23,44,7,11,10};
int max = a[0];
int i;
for (i = 1; i < 10; i++){
if (a[i] > max)
max = a[i];
}
printf ("%d\n", max);
return 0;
}
二、求数组最小值
思路大致是一样的,如图
代码如下(示例):
```int main(){
int a[10] = {44,3,4,89,8,23,9,7,11,10};
int min = a[0]; // 假定最小值是第一个数
int index = 0; // 定义的一个下标
int i;
for (i = 1; i < 10; i++) { // 利用for循环将假定的数依次和其他数比较
if (a[i] < min) { // 判断的条件
min = a[i]; // 将较小值给min
index = i; // 将较小值的下标给index
}
}
printf ("min = %d, index = %d\n", min, index); // 最终输出的就是数组最小值和它的下标
return 0;
}
总结:求出矩阵的鞍点(鞍点就是数组中每行中最大值元素但是在该列中最小)
#include<stdio.h>
main()
{
int a[10][10];
int i=0,j=0,flag=0,max;
for(i=0;a[i][j]!='\n';i++)
{
for(j=0;j<=10;j++)
scanf("%d",&a[i][j]);
}
for(i=0,j=0;j<=10;j++)
{
int max = a[i][j];
if (a[i][j] > max)
max = a[i][j];
}
for(i=0;i<=10;i++)
{
if(max>a[i][j])
printf("No");
flag=1;
}
if(flag=1)
printf("%d",a[i][j]);
}