Q:输入两个整数a,b,输出它们的最大公约数与最小公倍数。要求使用子函数。
S:
#include<stdio.h> int maxC(int a,int b);//返回最大公约数 int minC(int a,int b);//返回最小公倍数 int main() { int a,b; int max,min; scanf("%d%d",&a,&b); max=maxC(a,b); min=minC(a,b); printf("最大公约数=%d 最小公倍数=%d ",max,min); return 0; } int maxC(int a,int b) { int temp; int i; int result; if(a<b)//保证b比a小 { temp=a; a=b; b=temp; } for(i=b;i>=1;i--) { if(b%i==0&&a%i==0) { result=i; break; } } return result; } int minC(int a,int b) { int temp; int i; int result; if(a>b)//保证b比a大 { temp=a; a=b; b=temp; } for(i=b;i<=a*b;i++) { if(i%b==0&&i%a==0) { result=i; break; } } return result; }