![](https://lstatic.shangxueba.com/sxbzda/h5/images/m_q_title.png)
编写一个函数,求两个整数的最大公约数。
![](https://lstatic.shangxueba.com/sxbzda/h5/images/tips_org.png)
第1题
注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
vOid fun(int m,int n,int*bei,int*yue)
{int s=l,i;
if(m>n){s=m;m=n;n=S;}
for(i=2,s=1;i<m i++)
if((m%i=0)&&(n%i=0))
{
}
*yue=s;
*bei=S*m*n;
}
main( )
{int a,b,beishu,yueshu;
chscr( );
printf("please input a,b:");scanf("%d,%d,"&a,&b);
fun(a,b,&beishu,&yueshu);
printf("a,b beishu:%d\n",beishu);
printf("a,b yueshu:%d\n",Yueshu);
}
第2题
例如,若nmnl和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,
则输也的最大公约数为27。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或硼行,也不得更改程序的结构!
试题程序:
第3题
例如,若输入的两个正整数为12,4,则它们的最大公约数为12,最小公倍数为4。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填人所编写的若干表达式或语句。
试题程序:
include<stdlib.h>
include<stdio.h>
void main
{
int a,b,numl,num2,t;
system("CLS"):
printf("\nInput two numbers:\n");
scanf("%d,%d",&numl,&num2);
if(numl<num2)
{
a=num2;
b=num1:
}
else
{
a=num1;
b=num2;
}
while(【1】)
{
t=【2】
a=b;
b=t:
}
printf(“greatest common divisor:
%d\n",a);
printf("least common multiple:
%d\n",【3】;
}
第4题
B、num2%num1!=0
C、num1%num2==0
D、num1%num2!=0
第5题
寻找最大数 题目内容: 主函数定义一个长度为5的整型一维数组,编写一个函数实现求此一维数组的最大值。函数 原型:int max(int a[], int n); 功能是返回长度为n的数组a中最大的一个数。 输入格式: 5个整数 输出格式: "The result is %d\n" 输入样例1: 12 6 18 9 4↙ 输出样例1: The_result_is_18 输入样例2: 9 7 -2 3 4↙ 输出样例2: The_result_is_9
第6题
成下列题目。
(1)根据程序代码绘制控制流图。
(2)计算控制流图的圈复杂度。
(3)找出程序独立路径。
程序代码如下:
public int divisor, C (int a, int b){
if (a<=1|b<=0){
return 0;
}
while(a!= b){
if(a>b)
a=a-b;
else
b=b-a;
}
return a;
第7题
a)按照上述流程,编写一个算法int gcd(int a,int b),计算a和b的最大公约数;
b)与功能相同的欧几里得算法相比,这一算法有何优势?
第9题
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!