题目描述
利用数组和函数模板求5个数最大值(分别考虑整数、单精度、长整数的情况)。
输入
分别输入5个int型整数、5个float 型实数、5个long型正整数。
输出
分别输出5个int型整数的最大值、5个float 型实数的最大值、5个long型正整数的最大值。
示例输入
11 22 666 44 55
11.11 22.22 33.33 888.88 55.55
1234567 222222 333333 444444 555555
题目描述
利用数组和函数模板求5个数最大值(分别考虑整数、单精度、长整数的情况)。
输入
分别输入5个int型整数、5个float 型实数、5个long型正整数。
输出
分别输出5个int型整数的最大值、5个float 型实数的最大值、5个long型正整数的最大值。
示例输入
11 22 666 44 55
11.11 22.22 33.33 888.88 55.55
1234567 222222 333333 444444 555555
示例输出
666
888.88
1234567
#include <stdio.h>
int max1(int a[], int n);
long int max2(long int b[], int m);
float max3(float c[], int p);
void main()
{
int x[5], i, j, k, a;
long int y[5], c;
float z[5],b;
for(i = 0; i <= 4; i++)
scanf("%d", &x[i]);
for(k = 0; k <= 4; k++)
scanf("%f", &z[k]);
for(j = 0; j <= 4; j++)
scanf("%ld", &y[j]);
a = max1(x, 5);
c = max2(y, 5);
b = max3(z, 5);
printf("%d\n%.2f\n%ld\n", a, b, c);
}
int max1(int a[], int n)
{
int i, k, t;
for(i = 0; i <= n - 2; i++)
{
for(k = 0; k <= n - i - 2; k++)
if(a[i] > a[k])
{t = a[i]; a[i] = a[k]; a[k] = t;}
}
return a[0];
}
long int max2(long int b[], int m)
{
int i, k;
long int t;
for(i = 0; i <= m - 2; i++)
for(k = 0; k <= m - i - 2; k++)
if(b[i] > b[k])
{t = b[i]; b[i] = b[k]; b[k] = t;}
return b[0];
}
float max3(float c[], int p)
{
int i, k;
float t;
for(i = 0; i <= p - 2; i++)
for(k = 0; k <= p - i - 2; k++)
if(c[i] > c[k])
{t = c[i]; c[i] = c[k]; c[k] = t;}
return c[0];
}