主函数中,输入10个整数,调用函数求它们的次大值和次小值,及次大值和次小值的最大公约数和最小公倍数。
#include<stdio.h>
void minmaxc(int a[10]);
void gcd(int a,int b);
void main()
{
int i, a[10];
printf("请输入十个整数;\n");
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
minmaxc(a);
}
void minmaxc(int a[10])
{
int i, j,k;
int cmin, cmax;
for (i = 0; i < 9; i++)
{
for (j = i; j < 10; j++)
{
if (a[i] < a[j])
{
k = a[i];
a[i] = a[j];
a[j] = k;
}
}
}
cmin = a[1];
cmax = a[8];
printf("次大值为:%d\n", cmax);
printf("次小值为:%d\n", cmin);
gcd(cmin,cmax);
}
void gcd(int a,int b)
{
int i,c, d,max;
if (a > b)
max = a;
else
max = b;
for (i =max; i <=a*b; i++)
{
if ((i%a == 0) && (i / b == 0))
{
break;
}
}
printf("%d和%d的最小公倍数:%d\n", a, b, i);
while (c=a%b)
{
a = b;
b = c;
}
printf("最大公因数为:%d\n", b);
}