7、找最大数
(1)两个数找最大
思路:比较两个数,输出较大者。
完整程序
#include<stdio.h>
int main()
{
int x,y,z;
scanf("%d,%d",&x,&y);
z=x>y?x:y;
printf("%d",z);
return 0;
}
封装函数
int max(int x,int y)
{
int z;
z=x>y?x:y;
return z;
}
调用函数
#include<stdio.h>
int main()
{
int x,y,z;
int max(int x,int y);
scanf("%d,%d",&x,&y);
printf("%d",max(x,y));
return 0;
}
(2)数组中找最大
①一维数组
思路:让一个变量等于数组中第一个元素,从第二数开始依次进行比较,碰到更大的数则更
改变量的值,直到全部比较完毕。
完整程序
#include<stdio.h>
#define N 10
int main()
{
int num[N];
int i,max;
for(i=0;i<N;i++)
scanf("%d",&num[i]);
max=num[0];
for(i=1;i<N;i++)
if(max<num[i]) max=num[i];
printf("%d",&max);
return 0;
}
封装函数
int max(int num[N])
{
int max=num[0];
int i;
for(i=1;i<N;i++)
if(max<num[i]) max=num[i];
return max;
}
调用函数
#include<stdio.h>
#define N 10
int main()
{
int num[N];
int i;
int max(int num[N]);
for(i=0;i<N;i++)
scanf("%d",&num[i]);
printf("%d",max(num));
return 0;
}
②二维数组
思路:让一个变量等于数组中第一个元素,从第一个数开始依次进行比较,碰到更大的数则
更改变量的值,直到全部比较完毕。
完整程序
#include<stdio.h>
#define N 10
#define M 5
int main()
{
int num[N][M];
int i,j;
int max;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&num[i][j]);
max=num[0][0];
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(max<num[i]) max=num[i];
printf("%d",max);
return 0;
}
封装函数
int max(int num[N][M])
{
int max=num[0][0];
int i,j;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(max<num[i]) max=num[i];
return max;
}
调用函数
#include<stdio.h>
#define N 10
#define M 5
int main()
{
int num[N][M];
int i,j;
int max(int num[N][M]);
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&num[i][j]);
printf("%d",max(num));
return 0;
}