- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言程序设计-求两数最大公约数
1,写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。这两个数由键盘输入。
程序设计:
#includestdio.h
int hcf(int x,int y)
{int t;
if(xy)
{t=x;
x=y;
y=t;}
while((t=x%y)!=0)
{x=y;
y=t;}
return y;}
int lcf(int x,int y,int m)
{
return x*y/m;
}
int main()
{int hcf(int,int);
int lcf(int,int,int);
int x,y,h,l;
printf(请输入两个数:);
scanf(%d%d,x,y);
h=hcf(x,y);
l=lcf(x,y,h);
printf(最大公约数为:h=%d\n最小公倍数为:l=%d\n,h,l);
return 0;
}
运行结果:
2求方程ax^2+bx+c=0的根,用3个函数分别求当:b^2-4ac大于0、等于0和小于0时的根并输出结果。从主函数输入a,b,c的值。
程序设计:
#includestdio.h
#includemath.h
void g_two(double a,double b,double c)
{double x1,x2;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf(方程的两个根为:x1=%f\nx2=%f\n,x1,x2);
}
void g_one(double a,double b,double c)
{double x;
x=(-b)/(2*a);
printf(方程的两个根为:x1=x2=%f\n,x);
}
void g_zone(double a,double b,double c)
{
printf(无解\n);
}
void main()
{void g_two(double,double,double);
void g_one(double,double,double);
void g_zone(double,double,double);
double a,b,c,t;
printf(请输入a、b、c的值:);
scanf(%lf%lf%lf,a,b,c);
t=b*b-4*a*c;
if(t0)
g_two(a,b,c);
else if(t==0)
g_one(a,b,c);
else
g_zone(a,b,c);
}
运行结果:
写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。
程序设计:
#includestdio.h
#includemath.h
int pri(int a)
{int i,m=1;
for(i=2;i=sqrt((double)a)m==1;i++)
{if(a%i==0)
m=0;
}
return m;
}
int main()
{ int pri(int);
int a;
printf(请输入一个整数:);
scanf(%d,a);
if(pri(a))
printf(该数是素数\n);
else
printf(该数不是素数\n);
return 0;
}
运行结果:
写一个函数,使给定的一个(3×3)二维整形数组转置,即行列互换。
程序设计:
#includestdio.h
int main()
{void ex(int a[][3],int y);
int i,j,a[3][3];
printf(请输入一个3*3二维整形数组:\n);
for(i=0;i=2;i++)
{for(j=0;j=2;j++)
scanf(%d,a[i][j]);}
ex(a,3);
printf(行列互换后的数组为:\n);
for(i=0;i3;i++)
{for(j=0;j3;j++)
printf(%d ,a[i][j]);
printf(\n);}
return 0;
}
void ex(int a[][3],int y)
{int i,j,t;
for(i=0;i3;i++)
for(j=i;j3;j++)
{t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;}
}
运行结果:
写一函数,使输入的一个字符串按反序存放,在主函数中输入输出字符串。
程序设计:
#includestdio.h
#include string.h
int main()
{void inv(char str[]);
char str[100];
printf(请输入字符串:\n);
scanf(%s,str);
inv(str);
pri
文档评论(0)