首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。 例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。 请改正程序中的错误,
下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。 例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。 请改正程序中的错误,
admin
2020-01-10
41
问题
下列给定程序中,函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。
例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。
请改正程序中的错误,使它能得出正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include
intfun(inta,int b)
{ int r,t;
if(a<b)
{ t=a;b=a;a=t;
/**********found***********/
}
r=a%b:
while(r!=0)
{a=b;b=r;r=a%b;}
/**********found***********/
return(a);
}
void main()
{ int num1,num2,a;
printf("Input num1 num2:");
scanf("%d%d",&num1,&num2);
printf("num1=%d num2=%d\n\n,"num1,num2);
a=fun(num1,num2);
ptintf("The maximun common divisor is %d\n\n",a);
}
选项
答案
(1)t=a;a=b;b=t; (2)return(b);或return b;
解析
一般采用辗转相除法求最大公约数。辗转相除法的算法为:首先将m除以n(m>n)得余数r,再用余数r去除原来的除数,得到新的余数,重复此过程直到余数为0时停止,此时的除数就是m和n的最大公约数。
(1)将两数中较大的存入a,较小的存入b,先将b的值保存到变量t中,再将a的值赋给b,最后将t的值赋给a。
(2)最大公约数为余数r为0时的除数b,所以应返回b。
转载请注明原文地址:https://kaotiyun.com/show/1TCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列给定程序中,函数fun的功能是:求出如下分数序列的前n项之和,和值通过函数值返回。例如,若n=5,则应输出8.391667。请改正程序中的错误,使其得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:
给定程序MODI1.C中,fun函数的功能是:删除b所指数组中小于10的数据。主函数中输出删除后数组中余下的数据。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#
给定程序中,函数fun的功能是:将a所指4×3矩阵中第k行的元素与第0行元素交换。例如,有下列矩阵:123456789101112若k为2,程序执行结果为:78
给定程序MODI1.C中,函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列,否则输出“不能分解”。例如:当输入100时,输出:100=9+10+11+12+13+14+15+16100=18
请编写函数fun,其功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0~P(含P,P小于等于n—1)的数组元素平移到数组的最后。例如,一维数组中的原始内容为:1、2、3、4、5、6、7、8、9、10;P的值为3。移动后,一维数组中的内容应为
给定程序中,函数fun的功能是:根据形参i的值返回某个函数的值。当调用正确时,程序输出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000。注意:部分源程序在文件BLANK1.C中。不得增行或删行,也不得更改程序
在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun的功能是:计算数组元素中所有值为正数的平均值(不包括0)。例如,数组中元素的值依次为:39、一47、21、2、一8、15、0,则程序的运行结果为19.25
给定程序中,函数fun的功能是:在3×4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。例如,有下列矩阵:12134781063597程序
设有以下说明,则不正确的叙述是()。Unionun{inta;charb;floatc;}arr;
以下叙述中正确的是
随机试题
在我国的选举制度中,选举各级人大代表采用的投票方法为()
最早保护货源标记或原产地名称的国际性公约是()
以下有关设备监理资料管理的说法中,不正确的是( )。
从理论上讲,工资上涨过快容易导致()通货膨胀。
下列关于外币财务报表折算的表述中,不正确的是()。
一、注意事项1.申论考试,是对分析驾驭材料能力、提出和解决问题能力、文字表达能力的测试。2.作答参考时限:阅读资料40分钟,作答110分钟。3.仔细阅读给定的材料,然后按申论要求依次作答,答案书写在指定的位置。二、给定资料
毛泽东指出,“民主主义革命是社会主义革命的必要准备,社会主义革命是民主主义革命的必然趋势”,新民主主义革命胜利后,毛泽东在理论上的重要贡献是
在Word编辑中,对当前文档进行文字替换操作时,应当选用的菜单是()。A.“文件”B.“编辑”C.“格式”D.“工具”
计算机网络的目标是实现()。
TheBushAdministrationiswarningthatcontinuingMid-eastviolencethreatensto【B1】______theUSeffortstoreviseIsraeli-Pal
最新回复
(
0
)