#include<stdio.h>
#include<math.h>
void g(a,b)
{
int c,e
for(c=1c<=(a<b?a:b)c++)
if(a%c==0&&b%c==0)//都能被整除,则存储到e;
e=c
printf("最大公约数为:%d\n",e)
}
void f(a,b)
{
int d
for(d=(a>b?a:b)d<=a*bd++)
if(d%a==0&&d%b==0)//都能被整除,则输出;
{
printf("最小公倍数为:%d\n",d)
return
}
void main()
{
int a,b
printf("请输入三个整数:\n")
scanf("%d,%d",&a,&b)
g(a,b)
f(a,b)
}
扩展资料
计算三个数的平均值的源代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
int one,two,three//声明三个变量
double four//声明平均值变量
printf("整个程序可以用来计算三个数的正整数平均值\n"
"请输入三个数值,无所谓正数还是负数\n"
"空格隔开,回车输入\n")//提高程序可读性
scanf("%d %d %d",&one,&two,&three)//读取三个用户输入的数值
four=(abs(one)+abs(two)+abs(three))/3.0//计算平均值
printf("平均值为%.16lf",four)//打印平均值在屏幕上
getchar()
getchar()
return 0
}
先求两个数的最大公因数,再求这个公因数与第三个数的最大公因数,即得三个数的最大公因数。用辗转相除法。最小公倍数=三个数的积除以最大公因数的平方。设a=a1d,b=b1d,c=c1d最小公倍数=a1.b1.c1.d=a1.d.b1.d.c1.d/d²=abc/d²求两个数的最大公因数,可以用辗转相除法:int gys(int a,int b){if(!(a〉0)&&(b〉0)) return (-1)//错else if(a〈b) return (gys(b,a))else if(!(a%b)) return (b)else return(gys(b,a%b))}int main(void){int a,b,c,zdgys,zxgbs……zdgys=gys(gys(a,b),c)zxgbs=a*b*c/zdgys/zdgysif (zdgys〈0) printf("rong.\n")else printf("zdgys=%d,zxgbs=%d\n",zdgys,zxgbs) return (0)}