c语言vowel函数什么意思,C语言函数编程练习.doc

C语言函数编程练习

函数编程练习

1、编写两个函数,分别求最大公约数(greatest common divisor)和最小公倍数(least common multiple)。

解:

(1)函数原型与参数说明:

最大公约数函数:int gcd(int a,int b)

形参与函数类型含义int a第一个数int b第二个数int gcd()返回最大公约数最小公倍数函数:int lcm(int a,int b,int g)

形参与函数类型含义int a第一个数int b第二个数int g两个数的最大公约数int gcd()返回最小公倍数(2)源程序:

1.1主函数(main.c)

#include

void main()

{

int gcd(int,int);

int lcm(int,int,int);

int m,n,g,l;

scanf("%d,%d",&m,&n);

g=gcd(m,n);

l=lcm(m,n,g);

printf("greatest common divisor:%d\n",g);

printf("least common multiple:%d\n",l);

}

1.2最大公约数函数(gcd.c)

int gcd(int a,int b)

{

int t,r;

if(a

{t=a;a=b;b=t;}

while(b!=0)

{

r=a%b;

a=b;

b=r;

}

return(a);

}

1.3最小公倍数函数(lcm.c)

int lcm(int a,int b,int g)

{

return(a*b/g);

}

2、求方程ax2+bx+c=0的根,用三个函数分别求b2-4ac大于零、等于零和小于零时的根。

解:

(1)函数原型与参数说明:

b2-4ac大于零函数:void f1(float a,float b)

形参与函数类型含义float a方程参数afloat b方程参数bvoid f1 ()没有返回值,通过全局变量实现计算b2-4ac等于零函数:void f2(float a,float b)

形参与函数类型含义float a方程参数afloat b方程参数bvoid f2 ()没有返回值,通过全局变量实现计算b2-4ac小于零函数:void f3(float a,float b)

形参与函数类型含义float a方程参数afloat b方程参数bvoid f3 ()没有返回值,通过全局变量实现计算(2)全局变量说明

全局变量含义float X1方程第一个根float X2方程第二个根float Discb2-4acfloat Re实部(real part)float Im虚部(imaginary part)(3)源程序:

2.1主函数(main.c)

#include

#include

float X1,X2,Disc,Re,Im;

void main()

{

void f1(float,float);

void f2(float,float);

void f3(float,float);

float a,b,c;

printf("please input a,b,c\n");

scanf("%f,%f,%f",&a,&b,&c);

Disc=b*b-4*a*c;

if(Disc>0)

{

f1(a,b);

printf("x1=%f,x2=%f\n",X1,X2);

}

else if(fabs(Disc)<1e-6)

{

f2(a,b);

printf("x1=x2=%f\n",X1);

}

else

{

f3(a,b);

printf("x1=%f+%fi,x2=%f-%fi\n",Re,Im,Re,Im);

}

}

2.2 b2-4ac大于零函数(f1.c)

#include

extern float X1,X2,Disc;

void f1(float a,float b)

{

X1=(-b+sqrt(Disc))/(2*a);

X2=(-b-sqrt(Disc))/(2*a);

}

2.3 b2-4ac等于零函数(f2.c)

extern float X1;

void f2(float a,float b)

{

X1=(-b)/(2*a);

}

2.4 b2-4ac小于零函数(f3.c)

#include

extern float Disc,Re

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值