a=1,b=10
2.解析代码:
a=10,b=1
3.解析代码
a=1,b=10
4.解析代码
196
5.解析代码
6.定义二维数组,循环输入,
定义有参有返函数,计算第二大值
例如:int arr[2][3]={12,3,5,35,7,4,6,35,6};
第二大值:12
2 3
12 21 21 6 4 3
12
ubuntu@ubuntu:~$ cat 82.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int S_Max(int n,int m,int (*p)[m]);
int main(int argc, const char *argv[])
{
int n,m;
printf("请输入n,m:\n");
scanf("%d %d",&n,&m);
int s[n][m];
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%d",*(s+i)+j);
}
}
printf("%d\n",S_Max(n,m,s));
return 0;
}
int S_Max(int n,int m,int(*p)[m])
{
int max=**p,min=**p;
int i,j,maxi,maxj;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(max<*(*(p+i)+j))
{
max=*(*(p+i)+j);
maxi=i;
maxj=j;
}
if(min>*(*(p+i)+j))
{
min=*(*(p+i)+j);
}
}
}
int smax=min;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(*(*(p+i)+j) == max)
{
continue;
}
if(smax<*(*(p+i)+j))
{
smax=*(*(p+i)+j);
}
}
}
return smax;
}
ubuntu@ubuntu:~$