最小公倍数,最大公约数问题
#include<stdio.h>int f1(int a[],int n)
{
int i,min;
min=a;
for(i=0;i<n;i++){
if(a<min){
min=a;
}
}
return min;
}
int f2(int b[],int n)
{
int i,max;
max=b;
for(i=0;i<n;i++){
if(b>max){
max=b;
}
}
return max;
}
int f3(int a[],int b[])
{
int i,m,n,t;
m=f1(a,5);n=f2(b,5);
t=m<n?m:n;
for(i=t;i>=1;i--){
if(n%i==0&&m%i==0){
break;
}
return i;
}
int main()
{
int a={12,18,36,10,8},b={36,42,21,54,63};
printf("a最小值%d\n",f1(a,5));
printf("b最大值%d\n",f2(b,5));
printf("最大公约是%d\n",f3(a,b));
printf("最小公倍数%d\n",f1(a,5)*f2(b,5)/f3(a,b));
}
}
最后检查出现的问题,怎么也找不到。
你看一下f3函数的大括号,和main函数的大括号 #include<stdio.h>
int f1(int a[],int n) {
int i,min;
min=a;
for(i=0; i<n; i++) {
if(a<min) {
min=a;
}
}
return min;
}
int f2(int b[],int n) {
int i,max;
max=b;
for(i=0; i<n; i++) {
if(b>max) {
max=b;
}
}
return max;
}
int f3(int a[],int b[]) {
int i,m,n,t;
m=f1(a,5);
n=f2(b,5);
t=m<n?m:n;
for(i=t; i>=1; i--) {
if(n%i==0&&m%i==0) {
break;
}
return i;
}
}
int main() {
int a= {12,18,36,10,8},b= {36,42,21,54,63};
printf("a最小值%d\n",f1(a,5));
printf("b最大值%d\n",f2(b,5));
printf("最大公约是%d\n",f3(a,b));
printf("最小公倍数%d\n",f1(a,5)*f2(b,5)/f3(a,b));
}
你把mian函数放在f3函数里了
页:
[1]